x89*_*x89 3 python amazon-web-services tmp aws-lambda
AWS会/tmp
自动清除目录吗?
有某种flush()
功能吗?如果没有,如何从文件夹中删除/删除所有文件/tmp
?
我有一个 AWS Lambda 函数,可以将文件下载到我的/tmp
文件夹中。我解压压缩文件并对所有单个文件进行 gzip 压缩。所有这些都发生在/tmp
目录内,然后我再次将 gzip 压缩的文件上传到 S3。
之后,我不再需要文件夹中的文件/tmp
并想清除该目录。
如果我/tmp
从本地 macOS 计算机打开,我根本看不到任何相关文件,因此我不确定如何检查它们是否已成功删除。
不,来自的文件/tmp
不会自动删除。
AWS Lambda 常见问题解答指出:
为了提高性能,AWS Lambda 可能会选择保留函数实例并重用它来服务后续请求,而不是创建新副本。要了解有关 Lambda 如何重用函数实例的更多信息,请访问我们的文档。您的代码不应假设这种情况总会发生。
根据上述文档和经验,您可能会发现一个空目录或“已使用”/tmp
目录,具体取决于 AWS Lambda 是否为您当前的请求重用了以前的 Lambda 环境。
这可能适合也可能不适合,具体取决于用例,并且没有任何保证,因此如果您需要确保/tmp
每次函数调用都有一个干净的目录,请自行清除/tmp
目录。
有没有flush()之类的函数?
不,AWS 不会(也不应该)通过其 SDK 以编程方式提供一种方法,因为这与文件 I/O 相关。
如何删除/tmp
目录内的所有文件将取决于 Lambda 函数运行时。
对于 Python,请尝试:
from subprocess import call
...
call('rm -rf /tmp/*', shell=True)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5615 次 |
最近记录: |