我們正在評估「不頻繁訪問」存儲選項。我想知道當我檢索一個對象時,對象是否存儲在STANDARD或STANDARD_IA中,但GetObjectResponse對象中的StorageClass爲空。有沒有什麼方法可以表明我希望在響應中填充?
對於我們來說,將對象移動到標準是有意義的,如果他們請求了一次,因爲它們可能會再觸碰幾次。使用AWSSDK從S3 GetObject中檢索StorageClass
我注意到我可以從ListObjects獲得這個,但是如果我能在請求時得到它,我寧願那樣做。
我們正在評估「不頻繁訪問」存儲選項。我想知道當我檢索一個對象時,對象是否存儲在STANDARD或STANDARD_IA中,但GetObjectResponse對象中的StorageClass爲空。有沒有什麼方法可以表明我希望在響應中填充?
對於我們來說,將對象移動到標準是有意義的,如果他們請求了一次,因爲它們可能會再觸碰幾次。使用AWSSDK從S3 GetObject中檢索StorageClass
我注意到我可以從ListObjects獲得這個,但是如果我能在請求時得到它,我寧願那樣做。
我對SDK不太瞭解,因爲我直接使用REST API ......但是,REST API是SDK使用的接口,所以這是一個合理安全的假設,即響應中的空存儲類將是相當於STANDARD
,因爲在這種情況下,API不會爲存儲類返回任何內容。
的x AMZ存儲等級
提供對象的存儲類的信息。 Amazon S3爲標準存儲類對象以外的所有對象返回此標頭。
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
如果事實證明這是一個不正確的假設,然後檢查了x-amz-storage-class:
響應報頭的HTTP響應頭(我假設的SDK使得訪問)應該得到的答案,儘管這同樣頭對於STANDARD
對象完全不存在。
這個響應頭也應該可以從HEAD
request'a response和HEAD
訪問,我會假設是一個名爲getObjectMetadata
的方法。
請注意,將對象切換回STANDARD_IA
的小處罰 - 您支付檢索費用,因爲此操作實際上是一次讀取操作,隨後是寫入操作,將數據從一個後備存儲區移到另一個後備存儲區中,以及如果對象在您更改班級時在IA內的時間少於30天,您需要至少支付30天的IA存儲費用。
就是這樣。我沒有嘗試任何標準。當SDK不是標準版時,SDK會填充這些屬性。 – user2245759