2016-07-23 23 views
1

が予定されています AWSデータパイプラインが実行途中で失敗しました。私はパイプラインを変更せずに問題を解決しました(S3のスクリプトを変更しました)。しかし、最初からPipelineを再起動する良い方法はないようです。AWSデータパイプラインを再起動する方法

パイプラインを非アクティブ化/再アクティブ化しようとしましたが、以前に「完了した」ノードは再起動されませんでした。これは期待される。 docsによれば、これはPipelineの実行を一時停止し、一時停止します。これは必要ではありません。

私は個別に(xそれを呼び出す)ノードの1つを再実行しようとしたが、それは依存関係を尊重していない:ノードxのどれもreranに依存しない、またxに依存ノードをしました。

私は過去の時間からそれを起動しようとしましたが、エラー:startTimestamp should be later than any Schedule StartDateTime in the pipeline (Service: DataPipeline; Status Code: 400; Error Code: InvalidRequestException; Request ID: <SANITIZED>)を受け取りました。

Scheduleノードを変更しないでください。これは、Pipelineが引き続きそのノードを尊重したいと思っているからです。私はこの1つの手動実行が必要です。パイプラインを最初から一度再起動するにはどうすればいいですか?

答えて

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

はこれまでのところ、私が見つけたこれを実現する最良の方法は、パイプラインを複製することで見るとことを有​​効にしてください。この新しいパイプラインはすぐにアクティブになり、実行されます。しかし、これは扱いにくいようです。私はより良い方法を聞いてうれしいです。

関連する問題