2016-08-11 7 views
1

私は、毎日外部システムから入ってくるバケットで受け取られる2つのデータファイルを読み込むAWSデータパイプラインアクティビティを持っています。データパイプラインはこれらのデータをデータベースにインポートします。データパイプラインアクティビティの処理が終了したら、これらの2つのファイルをアーカイブバケットの場所に自動的に移動したいが、これはデータパイプラインが正常に完了した場合にのみ実行する必要がある。このような前提条件に基づいてファイルの移動を行うことはできますか? S3の移動をスケジュールするにはどうすればよいですか?S3ライフサイクルアクションには事前条件がありますか?

+0

インポートが正常に完了したことをどのように伝えることができますか?部分的または破損したファイルや不正な形式のファイルを取得したことはありますか? – vielmetti

+0

データパイプラインアクティビティにはステータスと最終実行日時があります。私がそれをチェックしてファイルを移動できるかどうかを調べたい。 –

答えて

0

データパイプラインの実行が正常に完了したら、中間S3バケットにファイルを書き込むことができます。また、中間バケットのイベントに基づいてトリガされるようにラムダ関数を設定します。このイベントは、ソースバケットからデスティネーションバケットにファイルをコピーできます。しかし、ラムダの実行がファイルサイズと処理時間を処理できるかどうかを確認する必要があります。制限がある場合は、SQSまたはSNSを使用するオプションについて考えてください。クライアントは、SQSメッセージを処理するように記述するか、SNS通知を受信できるエンドポイントを持つことができます。メッセージを受信すると、クライアントはファイルをソースからdestバケットにコピーできます。

関連する問題