AWS Lambda图像已损坏

Han*_*nam 6 image-processing amazon-s3 amazon-web-services node.js aws-lambda

我在使用AWS Lambda时遇到问题,每次上传时我调整大小的图像都会损坏.我编写了一个脚本,它从S3中提取并将其调整为3个大小到另一个桶中,主要是使用文件流.这是代码:

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

您可以看到较大的512px放大文件(已调整大小)和原始文件(200px)

调整为512px

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

我的lambda消费在大多数情况下看起来完全没问题.它设置在同一区域,内存为768mb,超时为20s.对于小图像(如500px宽),脚本使用90/768mb执行大约2秒,对于更大的图像(如2000px宽),脚本执行14秒@ 648/768mb.但即使对于一张小图片,调整大小也会消失在我身上.如果我放弃文件流并只写入缓冲区(就像aws示例那样),那么图像处理将以缓冲区自助结束,而lambda会耗尽太多资源.

任何指导表示赞赏!

小智 1

您的代码不是线程安全的可能性有多大?即,脚本的一些并发运行发生冲突?您显示的损坏的文件看起来可能具有不正确的尺寸。