2015-03-19 129 views

回答

2

當你說「手動運行管道」時,你的意思是什麼?

通過調用activate-pipeline命令可以從命令行激活(「觸發」)管道。該命令需要管道標識並可選擇接受參數值bag作爲管道配置。爲了獲得更多的細節有關此命令,運行

AWS datapipeline激活流水線幫助

例如

AWS datapipeline激活流水線--pipeline-ID DF-ABCDEF1234 --parameter值myStringValue = 「Hello World」 的myArrayValue =值myArrayValue =數值

AWS datapipeline activate-pipeline --pipeline-id df-ABCDEF1234 --parameter-values-uri s3://myBucket/withParameters/forPipeline.json

0

不,數據管道中目前不支持。我相信你正在尋找的是事件驅動調度有可能爲特定運行實例提供參數。

我建議你去探索以下選項:

使用
  1. 拉姆達 - 支持的基礎上,從S3觸發器執行任意代碼。然後使用S3爲運行實例提供無或輸入(充當參數)。
  2. 使用AWS SWF和SQS

構建自己有黑客,使其與數據管道的工作,但我會建議採取沒有這些,等待數據管道,以支持此功能。

哈克#1

你可以讓一個時間表您的管道運行。你的管道將有三個組成部分:

  1. ShellCommandActivity(與來自S3臨時文件運行shell腳本數據管道不從S3文件緩存到你的資源。)
  2. S3前提
  3. (可選)資源來運行你的ShellCommandActivity

現在在你的shell腳本中檢查S3文件。你可以有邏輯來讓這個執行成爲一個無操作,如果沒有/空文件在S3中或讀取S3文件並將它們作爲參數傳遞給你的程序。

哈克#2

您可以添加S3先決條件(指向的位置說:S3://我的桶/標記文件 - #{} scheduledStartTime)向您的管道活動中,充當您的觸發機制。無論何時您想要進行特定的時間間隔運行,您都可以在S3中放入相應的文件(比如s3:// my-bucket/marker-file-2015-10-01:00:00:00)。

這個破解非常糟糕,我對解釋更多不滿意。

0

是的,這是可能的。由於您發佈了您的問題,AWS已創建新的「scheduleType」,ondemand,它允許您在調用「激活管道」時運行管道。這裏是一個例子invoking a pipeline via AWS Lambda

相關問題