2016-07-23 60 views
1

我有一個計劃的 AWS數據管道在執行過程中部分失敗。我修正了這個問題,而沒有以任何方式修改管道(在S3中更改了腳本)。但是,似乎沒有從頭開始重新啓動管道的好方法。如何重新啓動AWS數據管道

我試過去激活/重新激活管道,但之前的「完成」節點沒有重新啓動。這是預期的;根據docs,這隻會暫停和取消暫停Pipeline的執行,這不是我們想要的。

我試圖重新運行節點(稱之爲x)單獨的一個,但它並沒有尊重依賴關係:無節點x取決於重新運行,也沒有依賴於x的節點。

我試圖從過去的時間激活它,但收到錯誤:startTimestamp should be later than any Schedule StartDateTime in the pipeline (Service: DataPipeline; Status Code: 400; Error Code: InvalidRequestException; Request ID: <SANITIZED>)

我寧願不更改Schedule節點,因爲我希望管道繼續尊重它;我只需要這一個手動執行。我如何從頭開始重新啓動管道,一次?

回答

1

ActivatePipeline API有一個startTimestamp參數,您可以使用它從任何以前的時間間隔重新開始執行。請參閱http://docs.aws.amazon.com/datapipeline/latest/APIReference/API_ActivatePipeline.html

+0

這一直沒有爲我工作。當我選擇操作 - >激活,並選擇一個前一次,我得到的錯誤:'startTimestamp應該比管道中的任何Schedule StartDateTime晚(服務:DataPipeline;狀態碼:400;錯誤代碼:InvalidRequestException;請求ID: )'。另一方面,當我「從現在起」激活它時,沒有發生錯誤,但管道也沒有運行。我會把這個添加到問題中。 –

+0

你的管道定義在schedule對象中有一個startDateTime,它定義了最早的執行。激活API的startTimestamp參數不能早於startDatetime,即只能重新運行之前已經運行的日期。如果你想回到過去的時間來處理你的管道從未運行過的日期的數據,你必須克隆管道並不幸地創建一個新的管道。 –

1

到目前爲止,我發現的最佳方法是克隆管道,使其按需(而不是預定),並激活之一。這個新的管道將立即啓動並運行。然而,這看起來很麻煩。我很樂意聽到更好的方法。

相關問題