AWS Lambda设备上没有剩余空间错误

问题描述 投票:2回答:1

我使用API​​网关调用lambda函数从s3导入mpeg文件(10 mb)并保存在lambda的/ tmp文件夹中,lambda将其上传到外部API(youtube等)最近对lambda的API网关调用间歇性失败有错误

[Errno 28] No space left on device

这是我下载文件的方式

urllib.urlretrieve (s3_mpeg_url, '/tmp/{}'.format(mpeg_filename))

如果我创建同一个lambda函数的新版本并分配给指向的别名API网关,它会开始工作,并且在某些时候它会再次出现相同的错误

当我从lambda控制台测试lambda函数时,它始终有效

任何的想法 ?

amazon-web-services lambda delete-file temp
1个回答
4
投票

你的lambda函数has approximately 500MB of disk space available on /tmp。但是,出于性能原因,AWS Lambda可能会在后续调用中保留并重用您的函数实例。您可以在此处使用两种可能的路径:

  1. 如果您的函数完全无状态(即在将其上传到外部API后不需要mpeg文件),只需在上传后从/tmp文件夹中删除它。
  2. 如果需要保留数据,请考虑在处理后将其存储在其他介质(如S3或DynamoDB)上。
© www.soinside.com 2019 - 2024. All rights reserved.