我需要“重命名”存储在AWS S3存储桶中的大量文件 . 每个文件/对象名称将单独重命名(基于特定条件 - 没有共同的“前缀/后缀”) . 我想出了'current_filename'和'new_filename'的列表,它可以作为.bat文件/队列从CLI控制台执行 .
问题:是否可以通过CLI或以编程方式仅更新AWS S3存储桶中的对象键(键名),而无需复制/移动文件,如下所示:
aws s3 cp s3://mybucket/folder/myfilename.jpg s3://mybucket/folder/my_NEW_filename.jpg
我可以保持所有其他对象元数据相同,但文件名(密钥名称)必须更改 .
请指教 .
SP
2 回答
您需要复制到其他对象才能更改其名称 . 如果你在s3桶之间移动而不是在本地复制并向后移动,那将会很有效 .
我们遇到了类似的情况,我将如何更改所有文件 . 您需要找到模式以对所有S3键进行分组并并行执行重命名 . 这是分布式系统的美妙之处 .
我们存储了日期/小时/ 15分钟模式 . 我们能够通过cli同时重命名它们来并行执行重命名 .
希望能帮助到你 .
您还可以使用AWS S3 Move命令将文件移动到新名称,而不是复制和删除文件 . AWS S3 Move