我發現自己希望能夠輕鬆地將桶中的所有項目更改爲S3上的特定存儲類。通常這是因爲項目是以標準上傳的,我希望它們在Reduced Redundancy中節省幾塊錢。如何更新S3存儲桶中所有項目的存儲類別?
我看不到通過AWS控制檯執行此操作的方法。
什麼是更新存儲桶中所有文件的最佳方法?
我發現自己希望能夠輕鬆地將桶中的所有項目更改爲S3上的特定存儲類。通常這是因爲項目是以標準上傳的,我希望它們在Reduced Redundancy中節省幾塊錢。如何更新S3存儲桶中所有項目的存儲類別?
我看不到通過AWS控制檯執行此操作的方法。
什麼是更新存儲桶中所有文件的最佳方法?
無法通過AWS控制檯執行此操作。您需要遍歷它們並更新每個對象上的元數據。
下面是一個Ruby腳本,做到了這一點:
https://gist.github.com/mcfadden/b1e564f3323f98720ff2
一些其他的想法:
坐落在對象創建正確的存儲類。你不想再循環所有的項目。
某些存儲類不適用於所有對象。例如,您無法將對象設置爲標準 - 不頻繁訪問類,直到它們在存儲桶中保持30天。
如果您嘗試使用Standard - Infrequent Access存儲類,則可以設置生命週期規則,以便在30天后自動將對象移動到此存儲類。
使用awscli PIP封裝
https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
aws s3 cp \
--storage-class STANDARD_IA \
--region='us-west-2' \
--recursive \
s3://myBucket/logs/ s3://myBucket/logs/
你在其它方面準確的答案是關上的一個點。 *「您可以通過在'x-amz-storage-class'頭文件中指定'STANDARD_IA'來直接'將'PUT'轉換爲Standard-IA。」* [參見S3 S/IA FAQ](https://aws.amazon.com/S3 /常見問題/#SIA)。您不能*自動*將它們與生命週期策略一起移植到30天之前。 –