You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS Python3 Lambda将API获取的JSON数据上传至S3 Bucket?

实现方案

你当前的实现思路是可行的,针对JSON数据上传的场景,补充适配调整如下:

核心注意点

  • 从API拉取到的是Python字典对象,需要先序列化为标准JSON字符串再上传,避免出现格式异常
  • 生产环境不要硬编码AWS凭证到代码中,boto3会自动读取环境变量、本地~/.aws/credentials配置文件、或云服务实例绑定的IAM角色权限,安全性更高
  • 上传时可指定Content-Type为application/json,方便后续S3直接识别文件类型,支持在线预览或者接口直接调用解析

完整可运行代码示例

import boto3
import json

# 初始化S3资源
s3 = boto3.resource(
    's3',
    region_name='us-east-1'
    # 本地调试无默认凭证时可临时补充以下两行,请勿提交到公开代码仓库
    # aws_access_key_id=你的KEY_ID,
    # aws_secret_access_key=你的ACCESS_KEY
)

# 此处替换为你从API拉取到的实际数据
api_response_data = {
    'id': 'sample_id_123',
    'firstname': 'demo',
    'Lastname': 'user'
}

# 序列化为JSON字符串,ensure_ascii=False避免中文等非ASCII字符乱码
json_content = json.dumps(api_response_data, ensure_ascii=False, indent=2)

# 上传到S3
s3.Object('替换为你的桶名', '存储的文件名.json').put(
    Body=json_content,
    ContentType='application/json'
)

如果你的JSON数据量较大,也可以考虑先写入本地临时文件再上传,避免占用过多内存,普通场景下上述代码完全可以满足需求。

内容的提问来源于stack exchange,提问作者rangelo313

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:24:00