使用aws lambda函数下载s3 bucket文件

download s3 bucket file using aws lambda function

我想使用 aws lambda 函数从 s3-bucket 下载文件,然后通过在另一个文件夹中重命名文件来上传相同的文件。在本地,我可以下载和上传文件但是,我不知道要下载和上传的 aws lambda 函数。我们是否需要在 aws 中创建任何临时文件夹才能下载文件。任何人都可以建议我下载和上传文件的最佳方式..

以下是我得到的错误:

Response
 {
    "errorMessage": "[Errno 2] No such file or directory: 
    '/tmp/sample.csv'",
    "errorType": "FileNotFoundError",
   "requestId": "5282a223-7b3a-42a9-9663-b1ab69388706",
  "stackTrace": [
 "  File \"/var/task/lambda_function.py\", line 34, in lambda_handler\n    
 with open(\"/tmp/sample.csv\", \"rb\") as f:\n"
 ]
}

AWS Lambda 函数只能写入 /tmp/ 目录。

确保将文件下载到该目录。例如:

with open('/tmp/file`, "wb") as f:

您不需要将此临时文件命名为与上传文件相同的名称,因为您通过 latest 变量指定了 S3 名称。

此外,如果 Lambda 函数上下文被重复使用,下一次执行将覆盖同一个文件,这将阻止您从磁盘上 space 中取出 运行。最大提供512MB存储空间。