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

如何将本地文件夹层级以独立键形式上传至AWS S3?

实现S3层级键的两种方法

当使用aws s3 cp --recursive上传时,S3不会自动生成对应文件夹的空对象(即my-folder/、my-folder/sub-folder/这类键)——因为S3本质上没有真实的目录结构,这些“文件夹”只是对象键的前缀。要生成你需要的三个键,可通过以下两种方式实现:

方法一:使用s3 sync命令

sync命令会自动创建对应层级的前缀空对象,完美匹配你的需求。执行以下命令:

aws s3 sync my-folder/ s3://my_bucket/my-folder/

这条命令会同步本地my-folder下的所有内容到S3的my-folder/前缀下,同时自动生成my-folder/和my-folder/sub-folder/这两个模拟文件夹的键,加上文件本身的键,正好是你需要的三个。

方法二:手动创建文件夹键+上传文件

如果更倾向于用cp命令,可以先手动创建两个文件夹对应的空对象,再上传文件:

  1. 创建顶级文件夹键:
aws s3api put-object --bucket my_bucket --key my-folder/
  1. 创建子文件夹键:
aws s3api put-object --bucket my_bucket --key my-folder/sub-folder/
  1. 上传文件:
aws s3 cp my-folder/sub-folder/file.json s3://my_bucket/my-folder/sub-folder/file.json

这样就能得到三个独立的S3键。

补充说明

如果本地文件夹中存在空目录,cp --recursive也不会上传对应的前缀对象,但sync命令会处理这种情况。另外,有些工具会通过在文件夹中放置空文件(比如.gitkeep)来让cp命令识别并生成对应前缀,不过这种方式不如前两种直接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 06:45:28