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

如何在调用S3的put_object接口时指定桶内文件夹路径写入JSON文件

核心实现逻辑

Amazon S3 本身没有原生的文件夹层级结构,你看到的桶内"目录"是平台通过对象的Key前缀模拟生成的虚拟结构,所以put_object不需要额外的目录参数,直接把目标路径拼接进Key参数即可实现指定目录上传。

代码修改方案

你要上传到/json/latest目录下,只需要在原有的Key前拼接对应的路径前缀即可,参考修改后的代码:

# 定义目标S3路径前缀,末尾必须加斜杠/
s3_target_prefix = "json/latest/"
# 拼接前缀和处理后的文件名,得到完整的Key
full_s3_key = f"{s3_target_prefix}{path.replace(' ', '_')}"
# 执行上传
s3.put_object(Bucket=bucket, Key=full_s3_key, Body=contents)

注意事项

  • 路径前缀末尾必须加斜杠/,否则前缀会被识别为文件名的一部分,比如漏加斜杠会生成json/latestyour_file.json这类不符合预期的文件名
  • 不需要提前在S3桶内创建json/latest目录,上传后S3会自动根据Key前缀生成对应的虚拟目录结构展示
  • 如果需要让JSON文件在访问时被正确识别为JSON格式,可额外添加ContentType参数,避免默认被识别为二进制文件:
s3.put_object(Bucket=bucket, Key=full_s3_key, Body=contents, ContentType='application/json')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:15:09