我想在S3存储桶中重命名一个文件夹,我知道重命名将运行一个PUT请求,每1000个请求需要1美分。
但是,PUT请求被定义为COPY并且还涉及GET
我的问题是,当我们在S3存储桶中重命名文件夹时,它是否涉及将所有子文件夹和文件复制到具有我想要的名称的新文件夹(其成本超过1 PUT请求),或者它只是1 PUT请求更改名称而不触及文件夹中的所有项目。
答案 0 :(得分:10)
万一你错过了...... S3中没有文件夹。
对象/pics/funny/cat.jpg
在名为cat.jpg
的另一个文件夹中名为funny
的文件夹中
实际上,它是一个18个字符的文件:pics
。控制台中显示的层次结构主要是为了方便人们,并且在控制台中创建新文件夹的能力也是一种幻想。
所以,是的,重命名“文件夹”实际上意味着在“文件夹”中创建每个对象的新副本,并且对象名称的更改看起来像是在路径中。
这可以通过pics/funny/cat.jpg
请求(每千人0.005美元,具体取决于地区),然后是旧对象的PUT/COPY
请求(免费)来完成。没有相应的DELETE
请求,因为GET
是S3内部的原子操作,因此可以避免实际下载和重新上传数据。