6

我遇到了AWS Lambda問題,其中調整大小的圖像每隔幾次上傳就會損壞。我編寫了一個腳本,從S3中抽取出來,並將其大小調整爲另一個桶中的3種大小,主要是使用文件流。下面是代碼:AWS Lambda圖像損壞

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

你可以看到較大的512像素放大的文件(調整大小)與沿原(200像素)

Resizing to 512px

而另一個調整大小120像素 Resizing to 120px

我的lambda消費看起來完全正常。它設置在768mb內存和20秒超時的同一區域。這些腳本使用90/768mb的小圖像(如500px寬)執行大約2秒,或者在更大的圖像(如2000px寬)上執行14秒@ 648/768mb。但即使是一張小圖片,調整大小也會影響我。如果我放棄文件流並只寫入緩衝區(就像aws example一樣),那麼圖像處理將以緩衝區結束,而lambda將耗盡太多資源。

任何指導表示讚賞!

+0

雖然我承認我不是你在這裏做什麼精通,我也注意到,在一個點上,你叫async.waterfall [.. ... ..函數變換(下一個)...... .. 。.. .. 看到整個部分的顏色突出顯示,我不太確定代碼的這一點是否按預期工作。 – Uvar

+0

@Uvar你能解釋一下顏色突出顯示的意思嗎? – Handonam

回答

0

你的代碼不是線程安全的機會是什麼?即腳本的某些併發運行發生衝突?您顯示的損壞文件看起來像可能有不正確的尺寸。

+0

我只在每張圖片上運行一次腳本,我一次只上傳一張圖片。 – Handonam