【发布时间】:2015-10-27 08:02:49
【问题描述】:
将 20M 文件下载到 /tmp 时,Amazon Lambda 函数调用偶尔会失败,设备上没有剩余空间。 lambda 限制页面清楚地表明,临时磁盘容量(“/tmp”空间)的限制是 512M,大概是每个 lambda 调用,而不是每个 lambda 函数在其所有调用中的限制。
详情如下:
同时调用一个 lambda 函数(java 8 运行时,角色“lambda_basic_execution”)(40 个并发调用)。每次调用都从 s3 下载数据(在所有情况下,数据都小于 512M 限制)。随机地,这些调用中有 4 到 5 次失败并出现 no left space on device 错误。我相信其中一些调用最终会在同一台机器和同一 JVM 中,共享 512M 临时磁盘的限制。对我来说听起来像是一个错误。
这是堆栈跟踪:
.....Caused by: java.io.IOException: No space left on device at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:326) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) at com.amazonaws.services.s3.internal.ServiceUtils.downloadToFile(ServiceUtils.java:295) ... 5 more
任何建议或解决方法将不胜感激。
在这里发帖:https://forums.aws.amazon.com/thread.jspa?threadID=209428
【问题讨论】:
标签: amazon-web-services aws-lambda