为什么我在 AWS Lambda 10 分钟后无法访问 csv 文件

Why I can not reach csv file after 10 min AWS Lambda

我有一个预定的作业,运行 它会定期在 AWS Lambda 中进行。我可以读取文件,直到 schedule job 运行ning 在 10 分钟后执行。但是,我在 10 分钟后无法访问文件。

错误日志为:

with open('/tmp/out.csv', "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/out.csv'

此外:我无法在编辑器上显示此文件。

AWS Lambda中的/tmp目录是临时存储。您的 Lambda 函数存储在那里的文件至少在同一 Lambda 函数调用期间可用。

在给定的 Lambda 调用完成后,AWS Lambda 服务可能 re-use 新函数调用的相同环境(so-called“热启动”),在这种情况下 /tmp 内容仍然存在。

但是,Lambda 不保证这一点。 Lambda 将在某个时候处理整个运行时环境,您的下一次 Lambda 调用将从一个全新的环境开始(so-called“冷启动”)。

因此,将 /tmp 视为临时的。您可以使用它来尝试为下一次 Lambda 函数调用缓存文件,但不要依赖它。