6

AWSラムダに問題が発生しました。アップロードされた画像のサイズが変更された画像が壊れてしまいます。私はS3から引き出し、それを3つのサイズにサイズ変更するスクリプトを書いた。ほとんどの場合はファイルストリームである。ここでは、コードは次のようになります。AWSラムダ画像が壊れています

https://github.com/handonam/AWS-Resizer/blob/493ff10c317e7150d1ac040f54065083963a9c67/createThumbnails.js

あなたは大きな512pxスケールアップファイルを見ることができます(リサイズ)120ピクセル Resizing to 120px

に元の(200pxの)

Resizing to 512px

、別のサイズ変更に伴い

私のラムダの消費量は、大部分が完全にうまく見えます。同じ領域に768MBのメモリと20秒のタイムアウトが設定されています。スクリプトは、500pxのような小さな画像の場合は90/768mb、2000pxのようなより大きな画像の場合は648/768mbの14秒を使用して約2秒間実行します。しかし、小さな画像の場合でも、サイズ変更は私の上で死にます。ファイルストリームを放棄してバッファに書き込むと(ちょうどaws exampleのように)、画像処理はバッファ・ビュッフェで終了し、ラムダはあまりにも多くのリソースを使い果たします。

ご了承ください。

+0

私はあなたがここでやっていることに堪能ではないと認めますが、私はある時点でasync.waterfall [.. ... .. function transform(next)...と呼んでいます。 。... .. .. このセクション全体で色の強調表示を見て、このコードが期待どおりに機能するかどうかはわかりません。 – Uvar

+0

@Uvar色の強調表示の意味を説明できますか? – Handonam

答えて

0

コードがスレッドセーフではないチャンスは何ですか?すなわち、スクリプトのいくつかの同時実行が衝突するか?表示される破損したファイルは、不正なサイズの可能性があります。

+0

私は、画像ごとにスクリプトを1回だけ実行しています。ここでは、一度に1つずつ画像をアップロードしています。 – Handonam

関連する問題