ラムダを使用してS3からRedshiftにファイルを移動します。AWSラムダとマルチパートアップロードS3から
データは、データプロバイダのRedshiftから直接UNLOADコマンドを使用してS3に配置されます。それは並行して走っているために、異なる時に完了することがある10の異なる部分に分かれています。
Redshiftにデータをインポートするトリガを起動する前に、すべてのデータが完全にアップロードされるまで、Lambdaトリガを待機させます。
ラムダでは「完全マルチパートアップロード」というイベントオプションがあります。 UNLOAD機能はラムダ内のマルチパートアップロードとしてカウントされますか?または、単純な "POST"イベントは、すべてのパートがプロバイダによって完全にアップロードされるまでは起動しませんか?
RedshiftのUNLOADコマンドがMultipartアップロードとしてカウントされていることを確認する明示的な文書や、データプロバイダ全体のアップロードが完了するまでトリガーが起動しないことを確認する明示的な文書はありません。
ありがとうございます!したがって、データがアップロードから10個のファイルのセットに入っている場合、10個のファイルがすべて完了するまでトリガーを開始しないように設定することをどのように提案しますか? 私はUNLOADを使ってファイルの並列生成をオフにすることを検討しました。そのため、それぞれが完了してアップロードされると、インポートが開始されます。それは効率的でしょうか?不必要に複雑に思えます – dataflux
10個すべてが完了するまでラムダトリガーを抑制することはできません。あなたができることは、最後のファイルがトリガーされるまでトリガーを無視することです。 –