访问无服务器 Lambda 函数中的 /tmp 或其他临时文件结构

Chu*_*ket 1 python amazon-web-services aws-lambda serverless aws-serverless

使用控制台的 AWS Lambda 函数

在 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)

生活很好。

使用无服务器的 AWS Lambda 函数

然而,使用 Serverless 是另一回事。

相同的设置会导致以下错误:

[Errno 2] No such file or directory: '/tmp/processed.txt.7E4850BD'

所以我猜想/tmp在无服务器执行环境中没有目录。

我试图将文件保存到当前目录,使用local_filepath = 'file.txt',但出现OSError(30, 'Read-only file system')错误。

nos*_*klo 7

尝试使用该tempfile模块,它有一组技术来检索要使用的临时目录:

local_filepath = os.path.join(tempfile.gettempdir(), 'file.txt')
Run Code Online (Sandbox Code Playgroud)