AWS Lambda图像已损坏

我遇到了AWS Lambda问题,每隔几次上传,我的resize的图像就会被损坏。 我写了一个脚本,从S3中取出,并将其大小调整为另一个存储桶中的3种大小,主要是使用文件stream。 这里是代码:

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

您可以看到较大的512px放大文件(resize)以及原始(200px)

调整到512px

另一个resize为120px 调整到120px

我的lambda消费看起来大部分完全正常。 它设置在768mb内存和20s超时的同一地区。 这些脚本使用90 / 768mb的小图像(如500px宽)执行大约2秒,或者在更大的图像(如2000px宽)上执行14秒@ 648 / 768mb。 但即使是一个小图像,resize也会影响到我。 如果我放弃文件stream,只是写入缓冲区(就像aws示例一样 ),那么image processing将以缓冲区结束,而lambda将耗尽太多的资源。

任何指导表示赞赏!

你的代码不是线程安全的机会是什么? 即脚本的某些并发运行发生冲突? 您显示的损坏的文件看起来像可能有不正确的尺寸。