2015-10-07 458 views
5

我想重命名S3存儲桶中的文件夾,我知道重命名將運行每1000個請求花費1美分的PUT請求。在AWS S3存儲桶中重命名文件夾的成本

然而,PUT請求被定義爲一個副本,並將其也是一個GET涉及

我的問題是,當我們在S3存儲桶重命名文件夾,它涉及複製所有子文件夾和文件到一個新的我想要的名字的文件夾(花費超過1個PUT請求),或者它僅僅是1個PUT請求來改變名稱而不接觸文件夾內的所有項目。

+1

我可以看到這個的最佳答案在這裏:http://serverfault.com/a/349813 –

回答

7

如果你錯過了它...... S3中沒有文件夾。

對象/pics/funny/cat.jpg一個名爲cat.jpg一個名爲funny稱爲pics另一個文件夾內的文件夾內。

實際上,它是一個包含18個字符的文件的文件:pics/funny/cat.jpg。控制檯中顯示的層次結構主要是爲了方便人們,而且在控制檯中創建新文件夾的能力也是一種幻覺。

所以,重命名「文件夾」實際上意味着在「文件夾」中創建每個對象的新副本,並更改​​對象名稱以使其看起來像它們在路徑中。

這可以通過PUT/COPY請求(每1000個$ 0.005取決於區域)完成,然後是舊對象(免費)的DELETE請求。沒有相應的GET請求,因爲PUT/COPY是S3內部的一個原子操作,所以實際上避免了下載和重新上傳數據。

+0

當我使用CloudBerry重命名一個文件夾時,我大概有80%的可能性,控制檯顯示了很多MOVE請求正在處理中,現在我100%確定。另外,如何知道每1000次請求花費我0.005美元還是0.01美元? (不頻繁訪問請求) – Casper

+0

您可以啓用存儲桶日誌並查看日誌以查看正在進行的呼叫,並啓用詳細的計費。 –

相關問題