/tmp 中的文件是否被 AWS Lambda 自动删除?
Are files from /tmp automatically deleted by AWS Lambda?
AWS 会自动清除 /tmp
目录吗?
有flush()
类的功能吗?如果没有,我如何才能 remove/delete /tmp
文件夹中的所有文件?
我有一个 AWS Lambda 函数,可以将文件下载到我的 /tmp
文件夹中。我解压缩压缩文件并 gzip 所有单个文件。所有这些都发生在 /tmp
目录中,在我再次将 gzip 文件上传到 S3 之前。
之后,我不再需要我的 /tmp
文件夹中的文件并想清除该目录。
如果我从本地 macOS 机器上打开 /tmp
,我根本看不到任何相关文件,所以我不确定如何检查它们是否已成功删除。
不,/tmp
中的文件不会自动删除。
To improve performance, AWS Lambda may choose to retain an instance of your function and reuse it to serve a subsequent request, rather than creating a new copy. To learn more about how Lambda reuses function instances, visit our documentation. Your code should not assume that this will always happen.
根据上述文档和经验,您可能会发现一个空目录或“预用”/tmp
目录,具体取决于 AWS Lambda 是否为您当前的请求重新使用了以前的 Lambda 环境。
这可能适合,也可能不适合,具体取决于用例&没有任何保证,因此如果您需要确保在每次函数调用时都有一个干净的 /tmp
目录,请清除 /tmp
目录自己.
Is there a flush() sort of function?
不,AWS 不(也不应该)通过他们的 SDK 以编程方式提供一种方式,因为这与文件 I/O.
有关
如何删除 /tmp
目录中的所有文件将取决于 Lambda 函数运行时。
对于Python,试试:
from subprocess import call
...
call('rm -rf /tmp/*', shell=True)
AWS 会自动清除 /tmp
目录吗?
有flush()
类的功能吗?如果没有,我如何才能 remove/delete /tmp
文件夹中的所有文件?
我有一个 AWS Lambda 函数,可以将文件下载到我的 /tmp
文件夹中。我解压缩压缩文件并 gzip 所有单个文件。所有这些都发生在 /tmp
目录中,在我再次将 gzip 文件上传到 S3 之前。
之后,我不再需要我的 /tmp
文件夹中的文件并想清除该目录。
如果我从本地 macOS 机器上打开 /tmp
,我根本看不到任何相关文件,所以我不确定如何检查它们是否已成功删除。
不,/tmp
中的文件不会自动删除。
To improve performance, AWS Lambda may choose to retain an instance of your function and reuse it to serve a subsequent request, rather than creating a new copy. To learn more about how Lambda reuses function instances, visit our documentation. Your code should not assume that this will always happen.
根据上述文档和经验,您可能会发现一个空目录或“预用”/tmp
目录,具体取决于 AWS Lambda 是否为您当前的请求重新使用了以前的 Lambda 环境。
这可能适合,也可能不适合,具体取决于用例&没有任何保证,因此如果您需要确保在每次函数调用时都有一个干净的 /tmp
目录,请清除 /tmp
目录自己.
Is there a flush() sort of function?
不,AWS 不(也不应该)通过他们的 SDK 以编程方式提供一种方式,因为这与文件 I/O.
有关如何删除 /tmp
目录中的所有文件将取决于 Lambda 函数运行时。
对于Python,试试:
from subprocess import call
...
call('rm -rf /tmp/*', shell=True)