Chu*_*ket 1 python amazon-web-services aws-lambda serverless aws-serverless
在 AWS Lambda 中,我的函数会将 S3 中的文件保存到/tmp目录中,如下所示:
local_filepath = '/tmp/file.txt'
s3.download_file(
Bucket=bucket,
Key=key,
Filename=local_filepath
)
Run Code Online (Sandbox Code Playgroud)
生活很好。
然而,使用 Serverless 是另一回事。
相同的设置会导致以下错误:
[Errno 2] No such file or directory: '/tmp/processed.txt.7E4850BD'
所以我猜想/tmp在无服务器执行环境中没有目录。
我试图将文件保存到当前目录,使用local_filepath = 'file.txt',但出现OSError(30, 'Read-only file system')错误。
尝试使用该tempfile模块,它有一组技术来检索要使用的临时目录:
local_filepath = os.path.join(tempfile.gettempdir(), 'file.txt')
Run Code Online (Sandbox Code Playgroud)