3.4. S3 对象操作
作为开发者,您可以通过 Ceph 对象网关通过 Amazon S3 应用编程接口(API)执行对象操作。
下表列出了对象的 Amazon S3 功能操作,以及功能的支持状态。
| 功能 | Status |
|---|---|
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| 支持 | |
| Multi-Tenancy | 支持 |
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- RESTful 客户端。
3.4.1. S3 从存储桶获取对象 复制链接链接已复制到粘贴板!
从存储桶检索对象:
语法
GET /BUCKET/OBJECT HTTP/1.1
添加 versionId 子资源以检索对象的特定版本:
语法
GET /BUCKET/OBJECT?versionId=VERSION_ID HTTP/1.1
请求 Headers
PartNumber- 描述
-
正在读取的对象的一部分号。这为指定部分启用范围
GET请求。使用此请求对于仅下载对象的一部分非常有用。 - 有效值
- 1 到 10,000 之间的正整数。
- 必填
- 否
range- 描述
要检索的对象范围。
注意不支持每个 GET 请求的多个数据范围。
- 有效值
- Range:bytes=beginbyte-endbyte
- 必需
- 否
if-modified-since- 描述
- 仅当自时间戳起修改时才会获得。
- 有效值
- Timestamp
- 必需
- 否
if-unmodified-since- 描述
- 只有自时间戳起没有修改时才会获得。
- 有效值
- Timestamp
- 必需
- 否
if-match- 描述
- 仅在对象 ETag 匹配 ETag 时才会获得。
- 有效值
- 实体标签
- 必需
- 否
if-none-match- 描述
- 仅在对象 ETag 不匹配 ETag 时才会获得。
- 有效值
- 实体标签
- 必需
- 否
带有请求标头的 Sytnax
GET /BUCKET/OBJECT?partNumber=PARTNUMBER&versionId=VersionId HTTP/1.1
Host: Bucket.s3.amazonaws.com
If-Match: IfMatch
If-Modified-Since: IfModifiedSince
If-None-Match: IfNoneMatch
If-Unmodified-Since: IfUnmodifiedSince
Range: Range
响应标头
Content-Range- 描述
- 只有在请求中指定范围标头字段时,才会返回数据范围
x-amz-version-id- 描述
- 返回版本 ID 或 null。
x-rgw-replicated-from- 描述
-
返回源区域,以及 Ceph 多区环境中对象复制路径中涉及的任何中间区域。此标头包含在
GetObject和HeadObject响应中。
x-rgw-replicated-at- 描述
-
返回一个时间戳,指示对象复制到其当前位置。您可以使用带有
Last-Modified标头的此标头来计算要完成的复制持续时间。
从现在开始,在复制区域上,客户端工具(如 s3cmd 或 curl 验证)支持 x-rgw-replicated-from 和 x-rgw-replicated-at。除了 radosgw-admin 命令外,您还可以使用这些工具进行验证。使用 radosgw-admin object stat,我们有一个已知问题 BZ-2312552 of missing header key x-rgw-replicated-from。