对对象的操作
本节介绍StorageGRID系统如何为对象实现 S3 REST API 操作。
以下条件适用于所有对象操作:
-
StorageGRID"一致性值"所有对象操作均支持,但以下操作除外:
-
获取对象Acl
-
OPTIONS /
-
放置对象合法保留
-
PutObjectRetention
-
选择对象内容
-
-
冲突的客户端请求(例如两个客户端写入同一个密钥)将根据“最新胜利”的原则解决。 “最新胜利”评估的时间取决于StorageGRID系统完成给定请求的时间,而不是 S3 客户端开始操作的时间。
-
StorageGRID存储桶中的所有对象均归存储桶所有者所有,包括由匿名用户或其他帐户创建的对象。
-
通过 Swift 提取到StorageGRID系统的数据对象无法通过 S3 访问。
下表描述了StorageGRID如何实现 S3 REST API 对象操作。
操作 | 实施 |
---|---|
删除对象 |
多重身份验证 (MFA) 和响应标头 `x-amz-mfa`不受支持。 在处理 DeleteObject 请求时, StorageGRID会尝试立即从所有存储位置删除该对象的所有副本。如果成功, StorageGRID会立即向客户端返回响应。如果无法在 30 秒内删除所有副本(例如,由于某个位置暂时不可用), StorageGRID会将副本排队等待删除,然后向客户端指示成功。
看"使用 S3 REST API 配置 S3 对象锁"了解如何在治理模式下删除对象版本。 |
删除对象 (以前称为 DELETE 多个对象) |
|
删除对象标记 |
使用 `tagging`子资源从对象中删除所有标签。
|
获取对象 |
|
获取对象Acl |
如果为帐户提供了必要的访问凭据,则操作将返回肯定响应以及对象所有者的 ID、DisplayName 和 Permission,表明所有者对该对象具有完全访问权限。 |
获取对象合法持有 |
|
获取对象保留 |
|
获取对象标记 |
使用 `tagging`子资源返回对象的所有标签。
|
头部对象 |
|
恢复对象 |
|
放置对象 |
|
复制对象 (之前名为 PUT 对象 - 复制) |
|
放置对象合法保留 |
|
PutObjectRetention |
|
PutObjectTagging |
使用 `tagging`子资源向现有对象添加一组标签。
|
选择对象内容 |