在AWS lambda上运行python代码时,我遇到了以下错误.
"errorMessage": "[Errno 17] File exists: '/tmp/testdir/'"
它发生在第os.makedirs('/tmp/testdir/')
行.
以前我没有这种错误.这是否意味着Lambda函数保留tmp目录?
我应该每次都清理tmp目录吗?
在AWS lambda上运行python代码时,我遇到了以下错误.
"errorMessage": "[Errno 17] File exists: '/tmp/testdir/'"
它发生在第os.makedirs('/tmp/testdir/')
行.
以前我没有这种错误.这是否意味着Lambda函数保留tmp目录?
我应该每次都清理tmp目录吗?
是的,/tmp
的Lambda diskspace的内容可能可用于后续的Lambda调用(即所谓的"热启动"调用).
见Understanding Container Reuse.
您可以在Lambda函数存在之前清理/tmp
文件夹,也可以使用以下代码安全地创建文件夹,忽略它可能已经存在的事实:
os.makedirs('/tmp/testdir/', exist_ok=True)