AWS Lambda图像已损坏

时间:2016-03-11 07:36:55

标签: node.js amazon-web-services image-processing amazon-s3 aws-lambda

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

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

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

Resizing to 512px

另一个调整为120px Resizing to 120px

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

感谢任何指导!

1 个答案:

答案 0 :(得分:0)

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