私はDynamoDBから読み込み、最終的にs3にアップロードされる/ tmpに大きなファイル(〜500M)を作成するラムダ機能を持っています。アップロードされると、lambdaは/ tmpからファイルをクリアします(インスタンスが再利用される可能性が高いため)/tmpが再利用されたときのラムダのスケール方法は?
この機能は、待ち時間を無視しても実行に約1分かかります。
このシナリオでは、< 1mで関数を再度呼び出そうとすると、/ tmpに書き込むのに十分な領域があるかどうかはわかりません。私の機能は失敗します。
質問: 1.この種のシナリオでは、既知の回避策は何ですか? (潜在的に/ tmpに空き領域を増やすか、新しい実行ごとにclean/tmpが指定されていることを確認してください) 2. Lambdaのファイル作成と管理に関するベストプラクティスは何ですか? 3.別のEBSまたは他のストレージをラムダに接続して実行できますか? 4./tmpを使用する代わりに私の関数がs3に直接書き込むことができるように、s3へのアクセスのようなファイルシステムを持つ方法はありますか?
私はあなたがFaaS/Amazon Lambdaを使っていることを考えると、なぜファイル(またはファイルシステム)が必要なのかわかりません。 DynamoDBの出力をディスクに書き込まずにS3にストリームするようにコードを書き直せますか? –
多くの処理が必要です。ダイナモからs3への単純なダンプではありません – sandeepzgk
おそらく限界(512M)に達しているのでしょうか? https://docs.aws.amazon.com/lambda/latest/dg/limits.htmlメモリ内での作業や、間に一時的な記憶域を確保するための3番目のサービスを追加すると効果的です。 –