注意
本文档适用于 Ceph 开发版本。
对象操作
Put Object
将对象添加到存储桶。您必须对存储桶具有写权限才能执行此操作。
语法
PUT /{bucket}/{object} HTTP/1.1
请求头
名称 |
描述 |
有效值 |
必需 |
---|---|---|---|
content-md5 |
消息的 base64 编码的 MD-5 哈希。 |
字符串。没有默认值或约束。 |
否 |
content-type |
标准的 MIME 类型。 |
任何 MIME 类型。默认: |
否 |
x-amz-meta-<…> |
用户元数据。与对象一起存储。 |
字符串,最多 8kb。没有默认值。 |
否 |
x-amz-acl |
预定义的 ACL。 |
|
否 |
复制对象
要复制对象,请使用PUT
并指定目标存储桶和对象名称。
语法
PUT /{dest-bucket}/{dest-object} HTTP/1.1
x-amz-copy-source: {source-bucket}/{source-object}
请求头
名称 |
描述 |
有效值 |
必需 |
---|---|---|---|
x-amz-copy-source |
源存储桶名称 + 对象名称。 |
{bucket}/{obj} |
是 |
x-amz-acl |
预定义的 ACL。 |
|
否 |
x-amz-copy-if-modified-since |
仅在自时间戳以来已修改时复制。 |
时间戳 |
否 |
x-amz-copy-if-unmodified-since |
仅在自时间戳以来未修改时复制。 |
时间戳 |
否 |
x-amz-copy-if-match |
仅在对象 ETag 与 ETag 匹配时复制。 |
实体标签 |
否 |
x-amz-copy-if-none-match |
仅在对象 ETag 不匹配时复制。 |
实体标签 |
否 |
响应实体
名称 |
类型 |
描述 |
---|---|---|
CopyObjectResult |
容器 |
响应元素的容器。 |
LastModified |
日期 |
源对象的最后修改日期。 |
Etag |
字符串 |
新对象的 ETag。 |
删除对象
删除对象。需要在包含存储桶上设置写权限。
语法
DELETE /{bucket}/{object} HTTP/1.1
获取对象
从 RADOS 中的存储桶检索对象。
语法
GET /{bucket}/{object} HTTP/1.1
请求头
名称 |
描述 |
有效值 |
必需 |
---|---|---|---|
range |
要检索的对象的范围。 |
Range: bytes=beginbyte-endbyte |
否 |
if-modified-since |
仅在自时间戳以来已修改时获取。 |
时间戳 |
否 |
if-unmodified-since |
仅在自时间戳以来未修改时获取。 |
时间戳 |
否 |
if-match |
仅在对象 ETag 与 ETag 匹配时获取。 |
实体标签 |
否 |
if-none-match |
仅在对象 ETag 不匹配时获取。 |
实体标签 |
否 |
响应头
名称 |
描述 |
---|---|
Content-Range |
数据范围,仅当请求中指定了范围头字段时才会返回 |
获取对象信息
返回有关对象的信息。此请求将返回与获取对象请求相同的头信息,但将包括元数据,不包括对象数据负载。
语法
HEAD /{bucket}/{object} HTTP/1.1
请求头
名称 |
描述 |
有效值 |
必需 |
---|---|---|---|
range |
要检索的对象的范围。 |
Range: bytes=beginbyte-endbyte |
否 |
if-modified-since |
仅在自时间戳以来已修改时获取。 |
时间戳 |
否 |
if-unmodified-since |
仅在自时间戳以来未修改时获取。 |
时间戳 |
否 |
if-match |
仅在对象 ETag 与 ETag 匹配时获取。 |
实体标签 |
否 |
if-none-match |
仅在对象 ETag 不匹配时获取 |
实体标签 |
否 |
获取对象 ACL
语法
GET /{bucket}/{object}?acl HTTP/1.1
响应实体
名称 |
类型 |
描述 |
---|---|---|
|
容器 |
响应的容器。 |
|
容器 |
ACL信息的容器。 |
|
容器 |
对象所有者的容器 |
|
字符串 |
对象所有者的 ID。 |
|
字符串 |
对象所有者的显示名称。 |
|
容器 |
接收权限的用户信息的容器。 |
|
容器 |
接收权限的用户信息的容器。 |
|
字符串 |
给予的权限。 |
设置对象 ACL
语法
PUT /{bucket}/{object}?acl
请求实体
名称 |
类型 |
描述 |
---|---|---|
|
容器 |
响应的容器。 |
|
容器 |
ACL信息的容器。 |
|
容器 |
对象所有者的容器 |
|
字符串 |
对象所有者的 ID。 |
|
字符串 |
对象所有者的显示名称。 |
|
容器 |
接收权限的用户信息的容器。 |
|
容器 |
接收权限的用户信息的容器。 |
|
字符串 |
给予的权限。 |
启动多部分上传
启动多部分上传过程。
语法
POST /{bucket}/{object}?uploads
请求头
名称 |
描述 |
有效值 |
必需 |
---|---|---|---|
content-md5 |
消息的 base64 编码的 MD-5 哈希。 |
字符串。没有默认值或约束。 |
否 |
content-type |
标准的 MIME 类型。 |
任何 MIME 类型。默认: |
否 |
x-amz-meta-<…> |
用户元数据。与对象一起存储。 |
字符串,最多 8kb。没有默认值。 |
否 |
x-amz-acl |
预定义的 ACL。 |
|
否 |
响应实体
名称 |
类型 |
描述 |
---|---|---|
|
容器 |
A container for the results. |
|
字符串 |
将接收对象内容的存储桶。 |
|
字符串 |
由请求参数指定的键。 |
|
字符串 |
由请求参数指定的 ID。 |
多部分上传部分
语法
PUT /{bucket}/{object}?partNumber=&uploadId= HTTP/1.1
HTTP响应
可能返回以下 HTTP 响应:
HTTP状态 |
状态代码 |
描述 |
---|---|---|
404 |
未找到上传 |
指定的 upload-id 与此对象上的任何已启动上传不匹配 |
列出多部分上传部分
语法
GET /{bucket}/{object}?uploadId=123 HTTP/1.1
响应实体
名称 |
类型 |
描述 |
---|---|---|
|
容器 |
A container for the results. |
|
字符串 |
将接收对象内容的存储桶。 |
|
字符串 |
由请求参数指定的键。 |
|
字符串 |
由请求参数指定的 ID。 |
|
容器 |
包含 |
|
字符串 |
启发者的ID。 |
|
字符串 |
启发者的显示名称。 |
|
容器 |
接收权限的用户信息的容器。 |
|
字符串 |
存储结果对象的方法。 |
|
字符串 |
在后续请求中使用部分标记,如果 |
|
字符串 |
在后续请求中使用下一个部分标记,如果 |
|
整数 |
响应中允许的最大部分数,如 |
|
布尔值 |
如果 |
|
容器 |
接收权限的用户信息的容器。 |
|
日期 |
部分上传的日期和时间。 |
|
整数 |
部分的标识号。 |
|
字符串 |
部分的实体标签。 |
|
整数 |
上传部分的大小。 |
完成多部分上传
组合上传的部分并创建一个新对象,从而完成多部分上传。
语法
POST /{bucket}/{object}?uploadId= HTTP/1.1
请求实体
名称 |
类型 |
描述 |
必需 |
---|---|---|---|
|
容器 |
由一个或多个部分组成的容器。 |
是 |
|
容器 |
接收权限的用户信息的容器。 |
是 |
|
整数 |
部分的标识符。 |
是 |
|
字符串 |
部分的实体标签。 |
是 |
响应实体
名称 |
类型 |
描述 |
---|---|---|
CompleteMultipartUploadResult |
容器 |
响应的容器。 |
位置 |
URI |
新对象的资源标识符(路径)。 |
桶 |
字符串 |
包含新对象的存储桶的名称。 |
Key |
字符串 |
对象的键。 |
ETag |
字符串 |
新对象的实体标签。 |
中止多部分上传
语法
DELETE /{bucket}/{object}?uploadId= HTTP/1.1
追加对象
向对象追加数据。您必须对存储桶具有写权限才能执行此操作。如果启用了存储桶版本控制或暂停,则不能使用追加对象。 在多站点中,同步对象将变为普通对象,但您仍然可以追加到原始对象。 追加对象的压缩和加密功能被禁用。
语法
PUT /{bucket}/{object}?append&position= HTTP/1.1
请求头
名称 |
描述 |
有效值 |
必需 |
---|---|---|---|
content-md5 |
消息的 base64 编码的 MD-5 哈希。 |
字符串。没有默认值或约束。 |
否 |
content-type |
标准的 MIME 类型。 |
任何 MIME 类型。默认: |
否 |
x-amz-meta-<…> |
用户元数据。与对象一起存储。 |
字符串,最多 8kb。没有默认值。 |
否 |
x-amz-acl |
预定义的 ACL。 |
|
否 |
响应头
名称 |
描述 |
---|---|
x-rgw-next-append-position |
追加对象的下一个位置 |
HTTP响应
可能返回以下 HTTP 响应:
HTTP状态 |
状态代码 |
描述 |
---|---|---|
409 |
PositionNotEqualToLength |
指定位置与对象长度不匹配 |
409 |
ObjectNotAppendable |
指定对象不能追加 |
409 |
InvalidBucketstate |
存储桶版本控制已启用或暂停 |
Put Object Retention
在对象上放置一个对象保留配置。
语法
PUT /{bucket}/{object}?retention&versionId= HTTP/1.1
请求实体
名称 |
类型 |
描述 |
必需 |
---|---|---|---|
|
容器 |
请求的容器。 |
是 |
|
字符串 |
指定对象的保留模式。有效值:GOVERNANCE/COMPLIANCE | 是 |
|
|
时间戳 |
保留日期。格式:2020-01-05T00:00:00.000Z 是 |
Get Object Retention
获取对象上的对象保留配置。
语法
GET /{bucket}/{object}?retention&versionId= HTTP/1.1
响应实体
名称 |
类型 |
描述 |
必需 |
---|---|---|---|
|
容器 |
请求的容器。 |
是 |
|
字符串 |
指定对象的保留模式。有效值:GOVERNANCE/COMPLIANCE | 是 |
|
|
时间戳 |
保留日期。格式:2020-01-05T00:00:00.000Z 是 |
Put Object Legal Hold
对指定对象应用法律保留配置。
语法
PUT /{bucket}/{object}?legal-hold&versionId= HTTP/1.1
请求实体
名称 |
类型 |
描述 |
必需 |
---|---|---|---|
|
容器 |
请求的容器。 |
是 |
|
字符串 |
指示指定对象是否已实施法律保留。有效值:ON/OFF |
是 |
Get Object Legal Hold
获取对象当前的法律保留状态。
语法
GET /{bucket}/{object}?legal-hold&versionId= HTTP/1.1
响应实体
名称 |
类型 |
描述 |
必需 |
---|---|---|---|
|
容器 |
请求的容器。 |
是 |
|
字符串 |
指示指定对象是否已实施法律保留。有效值:ON/OFF |
是 |
由 Ceph 基金会带给您
Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.