StorageGRID 中的 S3 儲存貯體作業和實作詳細資料
StorageGRID 系統為每個 S3 租戶帳戶支援最多 5,000 個儲存桶。
每個網格最多可以有 100,000 個儲存桶。
為了支援 5,000 個儲存桶,網格中的每個儲存節點必須至少有 64 GB 的 RAM。
儲存桶名稱限制遵循 AWS 美國標準區域限制,但為了支援 S3 虛擬託管式請求,您應該進一步將其限制為 DNS 命名慣例。
如需更多資訊,請參閱下列內容:
ListObjects(GET Bucket)和 ListObjectVersions(GET Bucket 物件版本)操作支援 StorageGRID "一致性值"。
您可以檢查是否已為各個儲存桶啟用或停用上次存取時間更新。請參閱"取得儲存桶上次存取時間"。
下表說明 StorageGRID 如何實作 S3 REST API 儲存桶操作。若要執行任何這些操作,必須提供帳戶所需的存取憑證。
| 操作 | 實作 |
|---|---|
CreateBucket |
建立新的儲存桶。建立儲存桶後,您將成為該儲存桶的擁有者。
|
DeleteBucket |
刪除儲存桶。 |
DeleteBucketCors |
刪除儲存桶的 CORS 組態。 |
DeleteBucketEncryption |
刪除儲存桶中的預設加密。現有加密物件仍保持加密狀態,但新增至儲存桶中的任何新物件都不會加密。 |
DeleteBucketLifecycle |
從儲存桶中刪除生命週期組態。請參閱 "建立 S3 生命週期組態"。 |
DeleteBucketPolicy |
刪除附加至儲存桶的原則。 |
DeleteBucketReplication |
刪除附加至儲存貯體的複寫組態。 |
DeleteBucketTagging |
使用 `tagging`子資源從儲存桶中移除所有標籤。 注意:如果此儲存桶設定了非預設的 ILM 原則標籤,則會有一個 `NTAP-SG-ILM-BUCKET-TAG`儲存桶標籤並已賦值。如果存在 `NTAP-SG-ILM-BUCKET-TAG`儲存桶標籤,請勿發出 DeleteBucketTagging 要求。而應發出僅包含 `NTAP-SG-ILM-BUCKET-TAG`標籤及其賦值的 PutBucketTagging 要求,以移除儲存桶中的所有其他標籤。請勿修改或移除 `NTAP-SG-ILM-BUCKET-TAG`儲存桶標籤。 |
GetBucketAcl |
傳回肯定回應以及儲存桶擁有者的 ID、DisplayName 和權限,表示擁有者對儲存桶擁有完全存取權限。 |
GetBucketCors |
傳回 `cors`儲存桶的組態。 |
GetBucketEncryption |
傳回儲存桶的預設加密組態。 |
GetBucketLifecycleConfiguration (之前名為 GET Bucket lifecycle) |
傳回儲存桶的生命週期組態。參見"建立 S3 生命週期組態"。 |
GetBucketLocation |
傳回在 CreateBucket 請求中使用 |
GetBucketNotificationConfiguration (之前名為 GET Bucket notification) |
傳回附加至儲存貯體的通知組態。 |
GetBucketPolicy |
傳回附加至儲存貯體的原則。 |
GetBucketReplication |
傳回附加至儲存貯體的複寫組態。 |
GetBucketTagging |
使用 `tagging`子資源傳回儲存桶的所有標籤。 注意:如果為此儲存桶設定了非預設的 ILM 原則標籤,則會有一個 `NTAP-SG-ILM-BUCKET-TAG`儲存桶標籤被賦予一個值。請勿修改或移除此標籤。 |
GetBucketVersioning |
此實作使用 `versioning`子資源傳回儲存桶的版本控制狀態。
|
GetObjectLockConfiguration |
傳回儲存桶的預設保留模式和預設保留期間(如果已設定)。 |
HeadBucket |
判斷儲存桶是否存在以及您是否擁有存取權限。 此作業會傳回:
|
ListObjects 和 ListObjectsV2 (之前名為 GET Bucket) |
傳回儲存桶中的部分或全部物件(最多 1,000 個)。物件的 Storage Class 可以有兩個值之一,即使物件是使用
如果儲存桶中包含大量具有相同前綴的已刪除金鑰,則回應可能包含一些 `CommonPrefixes`不包含金鑰的項目。 對於 HeadObject 和 ListObject 請求,StorageGRID 傳回的 LastModified 時間戳記精度不同,而 AWS 傳回的時間戳記精度相同,如下列範例所示:
|
ListObjectVersions (以前稱為 GET Bucket Object versions) |
對儲存貯體具有 READ 存取權限時,搭配 |
PutBucketCors |
設定儲存桶的 CORS 組態,以便該儲存桶可以處理跨域請求。跨域資源共用 (CORS) 是一種安全性機制,可讓一個網域中的用戶端 Web 應用程式存取另一個網域中的資源。例如,假設您使用名為 `images`的 S3 儲存桶來儲存圖形。透過設定 `images`儲存桶的 CORS 組態,您可以允許該儲存桶中的圖像顯示在網站 `http://www.example.com`上。 |
PutBucketEncryption |
設定現有儲存桶的預設加密狀態。啟用儲存桶級加密後,新增至儲存桶的任何新物件都將被加密。StorageGRID 支援使用 StorageGRID 管理的金鑰進行伺服器端加密。指定伺服器端加密組態規則時,請將 如果物件上傳請求已指定加密(即請求包含 `x-amz-server-side-encryption-*`請求標頭),則忽略儲存桶預設加密組態。 |
PutBucketLifecycleConfiguration (之前稱為 PUT Bucket lifecycle) |
為儲存桶建立新的生命週期組態或取代現有的生命週期組態。StorageGRID 的生命週期組態中支援最多 1,000 條生命週期規則。每條規則可以包含以下 XML 元素:
StorageGRID 不支援這些動作:
請參閱"建立 S3 生命週期組態"。若要了解儲存桶生命週期中的到期行動如何與 ILM 放置指令互動,請參閱"ILM 如何在物件的整個生命週期中運作"。 注意:儲存桶生命週期組態可用於已啟用 S3 Object Lock 的儲存桶,但不支援舊版 Compliant 儲存桶的儲存桶生命週期組態。 |
PutBucketNotificationConfiguration (之前稱為 PUT Bucket notification) |
使用請求正文中包含的通知組態 XML 設定儲存貯體的通知。您應注意以下實作細節:
|
PutBucketPolicy |
設定附加到儲存桶的原則。參見"使用儲存桶和群組存取原則"。 |
PutBucketReplication |
使用請求正文中提供的複寫組態 XML,為儲存桶設定 "StorageGRID CloudMirror 複寫"。對於 CloudMirror 複寫,您應該注意以下實作細節:
|
PutBucketTagging |
使用 `tagging`子資源為儲存桶新增或更新一組標籤。在新增儲存桶標籤時,請注意以下限制:
注意:如果為此儲存桶設定了非預設的 ILM 原則標籤,則會有一個 `NTAP-SG-ILM-BUCKET-TAG`儲存桶標籤及其賦值。請確保所有 PutBucketTagging 請求中都包含 `NTAP-SG-ILM-BUCKET-TAG`儲存桶標籤及其賦值。請勿修改或移除此標籤。 注意:此操作將覆寫儲存貯體中已有的所有標籤。如果從清單中省略任何現有標籤,這些標籤將從該儲存貯體中移除。 |
PutBucketVersioning |
使用 `versioning`子資源設定現有儲存貯體的版本控制狀態。您可以使用下列值之一設定版本控制狀態:
|
PutObjectLockConfiguration |
設定或移除儲存桶的預設保留模式和預設保留期間。 如果修改預設保留期間,現有物件版本的保留截止日期保持不變,不會使用新的預設保留期間重新計算。 |