StorageGRID 如何實作物件的 S3 REST API 作業
本節說明 StorageGRID 系統如何實作物件的 S3 REST API 操作。
以下條件適用於所有物件操作:
-
StorageGRID "一致性值" 支援對物件的所有操作,但下列情況除外:
-
GetObjectAcl
-
OPTIONS / -
PutObjectLegalHold
-
PutObjectRetention
-
SelectObjectContent
-
-
當用戶端請求發生衝突時,例如兩個用戶端同時寫入同一個金鑰,系統會遵循「最新優先」的原則來解決衝突。這種「最新優先」的判斷依據是 StorageGRID 系統完成請求的時間,而不是 S3 用戶端開始操作的時間。
-
StorageGRID 儲存桶中的所有物件均由儲存桶擁有者所有,包括匿名使用者或其他帳戶建立的物件。
下表說明 StorageGRID 如何實作 S3 REST API 物件操作。
| 操作 | 實作 |
|---|---|
DeleteObject |
處理 DeleteObject 請求時,StorageGRID 會嘗試立即從所有儲存位置移除物件的所有副本。如果成功,StorageGRID 會立即向用戶端傳回回應。如果無法在 30 秒內移除所有副本(例如,由於某個位置暫時無法使用),StorageGRID 會將副本放入移除佇列,然後向用戶端指示成功。
請參閱 "使用 S3 REST API 設定 S3 物件鎖定" 以了解如何在 GOVERNANCE 模式下刪除物件版本。 |
DeleteObjects (原名 DELETE Multiple Objects) |
多因素驗證 (MFA) 和回應標頭 `x-amz-mfa`不受支援。 同一請求訊息中可以刪除多個物件。 請參閱 "使用 S3 REST API 設定 S3 物件鎖定" 以了解如何在 GOVERNANCE 模式下刪除物件版本。 |
DeleteObjectTagging |
使用 `tagging`子資源從物件中移除所有標籤。
|
GetObject |
|
GetObjectAcl |
如果為帳戶提供了必要的存取憑證,則操作將傳回肯定的回應以及物件擁有者的 ID、DisplayName 和權限,表示擁有者對該物件擁有完全存取權。 |
GetObjectLegalHold |
|
GetObjectRetention |
|
GetObjectTagging |
使用 `tagging`子資源傳回物件的所有標籤。
|
HeadObject |
|
RestoreObject |
|
PutObject |
|
CopyObject (之前名為 PUT Object - Copy) |
|
PutObjectLegalHold |
|
PutObjectRetention |
|
PutObjectTagging |
使用 `tagging`子資源為現有物件新增一組標籤。
|
SelectObjectContent |