我可以在AWS Lambda Function上存储临时文件吗?

Rah*_*war 8 amazon-web-services aws-lambda

我正在编写用于提取文件的lambda函数,并且在执行此功能时需要存储文件,因此需要将该文件存储在aws lambda函数中。是否可以在lambda上存储文件。

poi*_*ida 12

是的,引用AWS Lambda常见问题解答

每个Lambda函数都在其自己的/ tmp目录中接收500MB的非永久磁盘空间。

https://aws.amazon.com/lambda/faqs/

请注意,正如注释者所指出的,只有可靠执行函数才能可靠地存在那里。您无法控制执行环境,因此后续运行可能在lambda函数的不同实例中。

如果您需要数据更持久,则应使用AWS S3。

  • @omdurg 不确定“在 /tmp/ 中自动创建/存储文件”是什么意思,但一般来说,Lambda 服务不会在 Lambda 函数执行之间清理 /tmp。任何时候您的 Lambda 函数热启动时,它都会继承上一次执行的 /tmp 以及上一次执行写入的内容。Lambda 最终将决定回收运行时环境,此时 /tmp 被擦除/丢弃。如果您不希望 /tmp 磁盘空间在调用过程中持续存在,请在结束 Lambda 函数之前删除您在其中写入的所有内容。 (4认同)
  • 我明白,如果 Lambda 函数自动在 /tmp/ 中创建/存储文件,那么它会自动释放 /tmp/,尽管在我们手动提及 /tmp/ 的情况下,例如 `iterator.to_csv(f '/tmp/{i}.csv')`,它会在每次执行后自动清理 /tmp/ 还是我们必须使用某种方法释放 /tmp/,谢谢@poida (2认同)