ayj*_*jay 6 command-line-interface amazon-s3 amazon-web-services
我知道在 Amazon s3 中,只有 buckets 和 objects。没有文件夹和所有文件都在同一个存储桶中这样的东西,并且看起来在文件夹中的对象只有在它们的文件名前面有一个前缀。
现在我的问题是……有没有办法使用 AWS CLI 更改 PREFIX?
小智 7
在 awscli2 中,我能够使用以下命令完成此操作:
aws s3 mv --recursive s3://bucket/prefix1/ s3://bucket/prefix2/
Run Code Online (Sandbox Code Playgroud)
在执行此操作之前,我通过检查以下输出进行了快速测试(dryrun):
aws s3 --dryrun mv --recursive s3://bucket/prefix1/ s3://bucket/prefix2/
Run Code Online (Sandbox Code Playgroud)
小智 1
是的,但并不容易。请记住,“前缀”只是文件名的一部分,更改前缀将要求您重命名其中包含该前缀的每个文件 \xe2\x80\x94 例如,如果您的存储桶包含以下文件,并且您想重命名/oldprefix/为/newprefix/:
/oldprefix/file1.txt\n/oldprefix/file2.txt\n/oldprefix/folder/anotherfile.txt\nRun Code Online (Sandbox Code Playgroud)\n\n您需要执行三个*操作来完成前缀的更改:每个对象一个。无法通过一次操作将它们全部重命名。一般来说,您应该尽量避免需要进行大规模重命名的情况,因为这可能是一个相当漫长的过程。
\n\n*:如果你想挑剔的话,实际上需要的不是三个而是六个操作,因为重命名对象分两步完成,首先将其复制到新名称,然后删除原始名称。不过,许多 S3 客户端和库都会为您处理这个细节。
\n| 归档时间: |
|
| 查看次数: |
8676 次 |
| 最近记录: |