2016-05-18 5 views
0

xmlファイルを外部サービスからダウンロードし、jsonに変換してS3バケットに配置するために、4つのラムダ関数が異なる間隔で定期的にスケジュールされています。複数の依存ファイルがS3にある場合にラムダを実行

  • ファイルAは
  • ファイルBが
  • ファイルCが
  • ファイルDは、60秒ごとに

Iに更新されて60秒ごとに更新され、5分ごとに更新され、28日ごとに更新されます1つまたは複数のファイルをアップロードして別のファイルを作成した後に、別のラムダを実行する必要があります。同じサイクルでA、B、C & Dが更新された場合は、ラムダを1回だけ実行します。

このような潜在的なエラー状況を説明する最良の方法は何でしょうか。 1つのファイルをダウンロードできませんでした(おそらく、ファイルの最後のバージョンを使用したいと思います)。

答えて

0

あなたができる最良のことは、すべてを1つのラムダ関数に入れることです。ファイルAは60秒ごとに更新できないほど大きいですか?たぶん、他のものがそれを制限しているかもしれませんが、毎分すべてのファイルを更新するだけで一桁の費用はかかりませんでした。バージョン管理なしでは、オブジェクトは単に上書きされます。ラムダ関数を書いて、前のファイルのバックアップを作成することもできます。エラーが発生した場合は、常にそのファイルを使用できます。

その1つのラムダ関数の終わりに、新しいファイルを作成します。

+0

私はそれについて考えていましたが、私はプロセスをあまりにも複雑にしました。 一時的な店舗としてdynamodbを使用しているので、私はスケジューラーでlambdaを設定し、ラムダが呼び出されたときのValidFrom日付と次のティックであるValidToがある独自のテーブルにレコードを挿入しました。私はすべてのファイルが実際には実際には本当に本当に本当に頼りにしていることに気付きました。もし見つからなければ、lambda apiでそれらから新しい状態を構築することはできません。生成される。 – Barry

関連する問題