2017-08-28 21 views
-1

ラムダ関数を記述してs3オブジェクトを取得し、関数の/ tmpフォルダにダウンロードしてから、オブジェクトに対してcrypto.createHash(アルゴリズム)を実行したいとします。しかし、オブジェクトサイズが500MBを超える解決策が必要なのは、それがラムダの一時的な記憶域制限だからです。このための回避策はありますか? また、取得しているオブジェクトがbucketpolicyのGlacier-storageクラスにある場合、Lambdaを使用してダウンロードするにはどうすればよいですか?私は検索のための1つのラムダと、ダウンロードのためのもう1つのラムダが必要でしょうか?どんな助けもありがとう!ありがとう!回避方法ラムダ500MB一時記憶

+0

ラムダを使用することはお勧めしません。あなたは100msの端数に課金され、500Mbを取得するには多くの時間がかかります – RuBiCK

答えて

1

S3オブジェクトの内容を/tmpフォルダに保存することなく、ハッシュアルゴリズムにストリームすることができるはずです。それをローカルディスクにまったく格納する必要はありません。

氷河に保存されているファイルに関しては、時間がかかるので、1回の関数呼び出しからリストアをトリガし、オブジェクトが復元された後に別の呼び出しをトリガしてハッシュを計算する必要があります。

+0

ありがとうございました!ハッシュアルゴリズムにコンテンツをストリーミングすることはできますが、サイズの小さいファイルに対してのみ、大きなサイズのファイルで試してみると、ラムダメモリサイズの設定を最大に増やしても機能がタイムアウトします。大きなサイズのS3オブジェクトのハッシュを計算するためにラムダを使用しようという面で他のアイデアですか? – Calvin

+1

@カルヴン問題を解決しましたか?おそらく、それに応じてCPUを増やすためにRAMサイズを増やすと同時に、ラムダ機能のタイムアウト自体も増加しました。 – jarmod

関連する問題