注意

本文档适用于 Ceph 开发版本。

对象操作

Put Object

将对象添加到存储桶。您必须对存储桶具有写权限才能执行此操作。

语法

PUT /{bucket}/{object} HTTP/1.1

请求头

名称

描述

有效值

必需

content-md5

消息的 base64 编码的 MD-5 哈希。

字符串。没有默认值或约束。

content-type

标准的 MIME 类型。

任何 MIME 类型。默认:binary/octet-stream

x-amz-meta-<…>

用户元数据。与对象一起存储。

字符串,最多 8kb。没有默认值。

x-amz-acl

预定义的 ACL。

private, public-read, public-read-write, authenticated-read

复制对象

要复制对象,请使用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。

private, public-read, public-read-write, authenticated-read

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

响应实体

名称

类型

描述

AccessControlPolicy

容器

响应的容器。

AccessControlList

容器

ACL信息的容器。

Owner

容器

对象所有者的容器IDDisplayName.

ID

字符串

对象所有者的 ID。

DisplayName

字符串

对象所有者的显示名称。

Grant

容器

接收权限的用户信息的容器。GranteePermission.

Grantee

容器

接收权限的用户信息的容器。DisplayNameID用户ID。

Permission

字符串

给予的权限。Grantee object.

设置对象 ACL

语法

PUT /{bucket}/{object}?acl

请求实体

名称

类型

描述

AccessControlPolicy

容器

响应的容器。

AccessControlList

容器

ACL信息的容器。

Owner

容器

对象所有者的容器IDDisplayName.

ID

字符串

对象所有者的 ID。

DisplayName

字符串

对象所有者的显示名称。

Grant

容器

接收权限的用户信息的容器。GranteePermission.

Grantee

容器

接收权限的用户信息的容器。DisplayNameID用户ID。

Permission

字符串

给予的权限。Grantee object.

启动多部分上传

启动多部分上传过程。

语法

POST /{bucket}/{object}?uploads

请求头

名称

描述

有效值

必需

content-md5

消息的 base64 编码的 MD-5 哈希。

字符串。没有默认值或约束。

content-type

标准的 MIME 类型。

任何 MIME 类型。默认:binary/octet-stream

x-amz-meta-<…>

用户元数据。与对象一起存储。

字符串,最多 8kb。没有默认值。

x-amz-acl

预定义的 ACL。

private, public-read, public-read-write, authenticated-read

响应实体

名称

类型

描述

InitiatedMultipartUploadsResult

容器

A container for the results.

Bucket

字符串

将接收对象内容的存储桶。

Key

字符串

由请求参数指定的键。key请求参数指定的标记。

UploadId

字符串

由请求参数指定的 ID。upload-id识别多部分上传(如果有)的请求参数。

多部分上传部分

语法

PUT /{bucket}/{object}?partNumber=&uploadId= HTTP/1.1

HTTP响应

可能返回以下 HTTP 响应:

HTTP状态

状态代码

描述

404

未找到上传

指定的 upload-id 与此对象上的任何已启动上传不匹配

列出多部分上传部分

语法

GET /{bucket}/{object}?uploadId=123 HTTP/1.1

响应实体

名称

类型

描述

ListPartsResult

容器

A container for the results.

Bucket

字符串

将接收对象内容的存储桶。

Key

字符串

由请求参数指定的键。key请求参数指定的标记。

UploadId

字符串

由请求参数指定的 ID。upload-id识别多部分上传(如果有)的请求参数。

Initiator

容器

包含IDDisplayName启动上传的用户。

ID

字符串

启发者的ID。

DisplayName

字符串

启发者的显示名称。

Owner

容器

接收权限的用户信息的容器。IDDisplayName拥有上传对象的用户的容器。

StorageClass

字符串

存储结果对象的方法。STANDARDREDUCED_REDUNDANCY

PartNumberMarker

字符串

在后续请求中使用部分标记,如果IsTruncatedtrue。它位于列表之前。

NextPartNumberMarker

字符串

在后续请求中使用下一个部分标记,如果IsTruncatedtrue。列表的末尾。

MaxParts

整数

响应中允许的最大部分数,如max-parts请求参数定义的前缀之后键的子字符串。

IsTruncated

布尔值

如果true,仅返回对象上传内容的一部分。

Part

容器

接收权限的用户信息的容器。LastModified, PartNumber, ETagSize elements.

LastModified

日期

部分上传的日期和时间。

PartNumber

整数

部分的标识号。

ETag

字符串

部分的实体标签。

Size

整数

上传部分的大小。

完成多部分上传

组合上传的部分并创建一个新对象,从而完成多部分上传。

语法

POST /{bucket}/{object}?uploadId= HTTP/1.1

请求实体

名称

类型

描述

必需

CompleteMultipartUpload

容器

由一个或多个部分组成的容器。

Part

容器

接收权限的用户信息的容器。PartNumberETag.

PartNumber

整数

部分的标识符。

ETag

字符串

部分的实体标签。

响应实体

名称

类型

描述

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 类型。默认:binary/octet-stream

x-amz-meta-<…>

用户元数据。与对象一起存储。

字符串,最多 8kb。没有默认值。

x-amz-acl

预定义的 ACL。

private, public-read, public-read-write, authenticated-read

响应头

名称

描述

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

请求实体

名称

类型

描述

必需

Retention

容器

请求的容器。

Mode

字符串

指定对象的保留模式。有效值:GOVERNANCE/COMPLIANCE | 是

RetainUntilDate

时间戳

保留日期。格式:2020-01-05T00:00:00.000Z 是

Get Object Retention

获取对象上的对象保留配置。

语法

GET /{bucket}/{object}?retention&versionId= HTTP/1.1

响应实体

名称

类型

描述

必需

Retention

容器

请求的容器。

Mode

字符串

指定对象的保留模式。有效值:GOVERNANCE/COMPLIANCE | 是

RetainUntilDate

时间戳

保留日期。格式:2020-01-05T00:00:00.000Z 是

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.