StorageGRID 如何实现对象的 S3 REST API 操作
本节介绍 StorageGRID 系统如何实现对象的 S3 REST API 操作。
以下条件适用于所有对象操作:
-
StorageGRID "一致性值" 受所有对象操作的支持,以下情况除外:
-
GetObjectAcl
-
OPTIONS / -
PutObjectLegalHold
-
PutObjectRetention
-
SelectObjectContent
-
-
冲突的客户端请求(例如两个客户端向同一密钥写入)将以"最新获胜"为原则进行解决。"最新获胜"评估的时间取决于 StorageGRID 系统何时完成给定请求,而不是 S3 客户端何时开始操作。
-
StorageGRID 存储桶中的所有对象都归存储桶所有者所有,包括由匿名用户或其他帐户创建的对象。
下表介绍了 StorageGRID 如何实现 S3 REST API 对象操作。
| 操作 | 实施 |
|---|---|
删除对象 |
在处理 DeleteObject 请求时,StorageGRID 尝试立即从所有存储位置删除对象的所有副本。如果成功,StorageGRID 会立即向客户端返回响应。如果无法在 30 秒内删除所有副本(例如,由于某个位置暂时不可用),StorageGRID 会将这些副本排队等待删除,然后向客户端指示成功。
请参见"使用 S3 REST API 配置 S3 对象锁定"以了解如何在 GOVERNANCE 模式下删除对象版本。 |
DeleteObjects (先前命名为 DELETE Multiple Objects) |
不支持多因素身份验证 (MFA) 和响应标头 可以在同一请求消息中删除多个对象。 请参见"使用 S3 REST API 配置 S3 对象锁定"以了解如何在 GOVERNANCE 模式下删除对象版本。 |
DeleteObjectTagging |
使用
|
获取对象 |
|
GetObjectAcl |
如果为帐户提供了必要的访问凭据,则该操作将返回肯定响应以及对象所有者的 ID、DisplayName 和权限,表明所有者对该对象具有完全访问权限。 |
GetObjectLegalHold |
|
GetObjectRetention |
|
GetObjectTagging |
使用
|
HeadObject |
|
RestoreObject |
|
放置对象 |
|
CopyObject (以前称为 PUT Object - Copy) |
|
PutObjectLegalHold |
|
PutObjectRetention |
|
PutObjectTagging |
使用
|
SelectObjectContent |