首页 > 解决方案 > 如何使用 Lambda 函数将下载的文件上传到 s3 存储桶

问题描述

我看到了不同的问题/答案,但我找不到适合我的问题/答案。因此,我对 AWS 很陌生,我需要你的帮助。我正在尝试下载 gzip 文件并将其加载到 json 文件中,然后使用 Lambda 函数将其上传到 S3 存储桶。我编写了代码来下载文件并将其转换为 json,但在将其上传到 s3 存储桶时出现问题。假设该文件已准备好为 x.json。那我该怎么办?

我知道这确实是基本问题,但仍然需要帮助:)

标签: python-3.xamazon-web-servicesamazon-s3aws-lambda

解决方案


此代码将上传到 Amazon S3:

import boto3

s3_client = boto3.client('s3', region_name='us-west-2')  # Change as appropriate
s3._client.upload_file('/tmp/foo.json', 'my-bucket', 'folder/foo.json')

一些技巧:

  • 在 Lambda 函数中,您只能写入/tmp/
  • 有512MB的限制
  • 在函数结束时,删除文件(zip、json 等),因为容器可以重复使用并且您不想耗尽磁盘空间

推荐阅读