当我在AWS lambda上运行python代码时,得到以下错误:
"errorMessage": "[Errno 17] File exists: '/tmp/testdir/'"
出现在os.makedirs('/tmp/testdir/')
行
以前我没有这种错误。这是否意味着Lambda函数保留tmp目录?
每次都要清理tmp目录吗?
是的,/tmp
上Lambda磁盘空间的内容可能对后续Lambda调用可用(这些是所谓的"热启动"调用)。
请参见理解容器重用。
您可以在存在Lambda函数之前清理/tmp
文件夹,或者您可以使用以下代码安全地创建文件夹,忽略它可能已经存在的事实:
os.makedirs('/tmp/testdir/', exist_ok=True)