You need to enable JavaScript to run this app. 如何使用Python版Lambda函数将JSON对象写入S3的.json文件
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python版Lambda函数将JSON对象写入S3的.json文件

Python Lambda 写入JSON字符串到S3实现方案

前置准备

  • 给你的Lambda执行角色添加对应S3桶的s3:PutObject权限,避免权限报错
  • 确认目标S3桶和Lambda在同一AWS分区,跨分区访问需要额外配置网络规则

代码实现

Lambda的Python运行时默认内置boto3 SDK,无需额外打包依赖层,直接参考下方代码调整即可:

import json
import boto3

# 初始化S3客户端
s3 = boto3.client('s3')

def lambda_handler(event, context):
    # 你的原有业务逻辑
    my_data = {"key": "value", "示例字段": "中文内容"}
    # 生成JSON字符串,加ensure_ascii=False避免中文乱码,indent=2优化可读性
    x = json.dumps(my_data, ensure_ascii=False, indent=2)
    
    # 写入S3
    s3.put_object(
        Bucket = "你的目标S3桶名", # 替换为实际桶名
        Key = "存放路径/目标文件名.json", # 替换为实际存储路径,比如data/20240520/user_info.json
        Body = x,
        ContentType = "application/json" # 配置后S3会正确识别文件格式,浏览器访问直接预览而非下载
    )
    
    # 后续业务逻辑
    return {
        "statusCode": 200,
        "body": "JSON文件上传S3成功"
    }

常见注意事项

  • 如果JSON字符串体积超过100MB,建议使用分片上传接口避免Lambda执行超时
  • 若需要自定义文件访问权限,可以在put_object参数中添加ACL="public-read"(公开读)或其他对应权限配置
  • 如果Lambda和S3桶不在同一区域,初始化S3客户端时指定区域即可:s3 = boto3.client('s3', region_name='ap-northeast-1')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 15:06:09