使用控制台的 AWS Lambda 函数
在 AWS Lambda 中,我的函数会将文件从 S3 保存到 /tmp
目录,如下所示:
local_filepath = '/tmp/file.txt'
s3.download_file(
Bucket=bucket,
Key=key,
Filename=local_filepath
)
生活很美好。
使用无服务器的 AWS Lambda 函数
然而,使用无服务器是另一回事。
相同的设置会导致以下错误:
[Errno 2] 没有这样的文件或目录:'/tmp/processed.txt.7E4850BD'
所以我猜测 Serverless 执行环境中没有 /tmp
目录。
我尝试使用 local_filepath = 'file.txt'
将文件保存到当前目录,但我得到了一个 OSError(30, 'Read-only file system ')
错误。
最佳答案
尝试使用 tempfile
模块,它有一组技术来检索要使用的临时目录:
local_filepath = os.path.join(tempfile.gettempdir(), 'file.txt')
关于python - 在 Serverless Lambda 函数中访问/tmp 或其他临时文件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56153604/