2.15. bucket 通知
作为存储管理员,您可以使用这些 API 为存储桶通知机制提供配置和部署接口。API 主题是命名的对象,其中包含特定端点的定义。bucket 通知将主题与特定 bucket 关联。S3 bucket operations 部分提供有关 bucket 通知的更多详情。
在所有主题操作中,参数都是 URL 编码,并使用 application/x-www-form-urlencoded
内容类型在消息正文中发送。
需要重新创建与这个主题相关联的任何存储桶通知,以使主题更新生效。
先决条件
- 在 Ceph 对象网关上创建 bucket 通知。
2.15.1. 存储桶通知概述 复制链接链接已复制到粘贴板!
bucket 通知提供了一种方式,可以在 bucket 中发生特定事件时从 Ceph 对象网关发送信息。bucket 通知可以发送到 HTTP、AMQP0.9.1 和 Kafka 端点。必须创建一个通知条目,以便为特定存储桶上的事件和特定主题发送存储桶通知。可以在事件类型的子集上创建 bucket 通知,也可以默认为所有事件类型创建 bucket 通知。bucket 通知可以根据键前缀或后缀、与键匹配的正则表达式、附加到对象或对象标签的元数据属性过滤出事件。bucket 通知具有 REST API,用于为 bucket 通知机制提供配置和控制接口。
当对象同步到区域时,发送存储桶通知可让外部系统在对象级别获取信息到区域同步状态。当通过存储桶通知机制配置时,当通过存储桶通知机制配置时,存储桶通知事件类型
,在成功同步对象时从同步 RGW 中发送通知事件。在发送通知事件的每个区域中,应单独执行主题和通知配置。
s3:ObjectSynced
:Created
2.15.2. 持久性通知 复制链接链接已复制到粘贴板!
永久通知启用从 Ceph 对象网关到主题中配置的端点的可靠和异步发送通知。常规通知也可靠,因为发送到端点的交付也在请求期间同步执行。使用持久通知时,Ceph 对象网关会重试发送通知,即使端点停机或操作过程中存在网络问题,如果不成功传送到端点,也会重试通知。只有在与通知操作相关的所有其他操作都成功后,才会发送通知。如果端点长时间停机,通知队列会填满,并且为这些端点配置通知的 S3 操作将失败。
使用 kafka-ack-level=none
时,没有指示消息失败,因此当代理再次上线时,发送的消息不会重试。再次设置代理后,只会看到新的通知。
2.15.3. 创建主题 复制链接链接已复制到粘贴板!
您可以在创建存储桶通知前创建主题。主题是 SNS 操作的一个简单通知服务(SNS)实体和所有主题操作,即 创建
、删除
、列表
和 get
,它们是 SNS 操作。主题需要具有创建存储桶通知时使用的端点参数。请求成功后,响应中包含稍后可用来在存储桶通知请求中引用此主题的 Amazon Resource Name(ARN)主题。
topic_arn
提供存储桶通知配置,并在创建主题后生成。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 根级别访问权限.
- 安装 Ceph 对象网关.
- 用户 access key 和 secret key。
- 端点参数.
流程
创建带有请求格式的主题:
语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是请求参数:
-
endpoint
:发送通知的端点的 URL。 -
OpaqueData
: 不透明数据在主题配置中设置,并添加到该主题触发的所有通知。 -
persistent
:指示对此端点的通知是否是持久的,是否为异步的。默认值为false
。 HTTP 端点:
-
URL
: https://FQDN:PORT -
port defaults to
: 分别为 HTTP[S] 使用 80/443。 -
verify-ssl
:指示服务器证书是否由客户端验证。默认情况下,它是true
。
-
AMQP0.9.1 端点:
-
URL
: amqp://USER:PASSWORD@FQDN:PORT[/VHOST]. -
用户和密码分别默认为:
guest
和guest
。 - 应当通过 HTTPS 提供用户和密码详细信息,否则主题创建请求将被拒绝。
-
端口默认为
: 5672。 -
vhost
默认为:"/" -
amqp-exchange
:该交换必须存在,并且能够根据主题路由消息。这是用于 AMQP0.9.1 的强制参数。指向同一端点的不同主题必须使用相同的交换。 AMQP 级别
:不需要结束的确认,因为消息可能会在代理中被传送到最终目的地前保留。存在三个确认方法:-
none
:当发送到代理,则消息被视为已发送
。 -
broker
:默认情况下,如果代理确认,则消息被视为已发送
。 routable
:如果代理可路由到使用者,则消息被视为已发送
。注意特定参数的键和值不必驻留在同一行中,或者以任何特定顺序运行,但必须使用相同的索引。属性索引不需要是连续的,或从任何特定值开始。
注意topic-name
用于 AMQP 主题。
-
-
Kafka 端点:
-
URL
: kafka://USER:PASSWORD@FQDN:PORT. -
use-ssl
默认被设置为false
。如果将use-ssl
设置为true
,则与代理的连接会使用安全的连接。 -
如果提供了
ca-location
,并且使用安全连接,则会使用指定的 CA 而不是默认的端口来验证代理。 - 用户和密码只能通过 HTTP[S] 提供。否则,主题创建请求将被拒绝。
-
用户和密码只能与
use-ssl
一起提供,否则与代理的连接将失败。 -
端口默认为
: 9092。 kafka-acklevel
: 不需要结束确认,因为消息可能会在代理中被传送到最终目的地前保留。存在两个确认方法:-
none
:当发送到代理,则消息被视为已发送
。 -
broker
:默认情况下,如果代理确认,则消息被视为已发送
。
-
-
-
以下是响应格式的示例:
示例
响应中的 Amazon 资源名称(ARN)将采用以下格式:arn: aws:sns:ZONE_GROUP:TENANT:TOPIC
以下是一个 AMQP0.9.1 端点的示例:
示例
client.create_topic(Name='my-topic' , Attributes={'push-endpoint': 'amqp://127.0.0.1:5672', 'amqp-exchange': 'ex1', 'amqp-ack-level': 'broker'}) "
client.create_topic(Name='my-topic' , Attributes={'push-endpoint': 'amqp://127.0.0.1:5672', 'amqp-exchange': 'ex1', 'amqp-ack-level': 'broker'}) "
2.15.4. 获取主题信息 复制链接链接已复制到粘贴板!
返回有关特定主题的信息。如果提供,这可包括端点信息。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 根级别访问权限.
- 安装 Ceph 对象网关.
- 用户 access key 和 secret key。
- 端点参数.
流程
使用以下请求格式获取主题信息:
语法
POST Action=GetTopic &TopicArn=TOPIC_ARN
POST Action=GetTopic &TopicArn=TOPIC_ARN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是响应格式的示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是标签和定义:
-
User
:创建该主题的用户的名称。 -
Name
:主题的名称. JSON 格式的端点包括:
EndpointAddress
:端点 URL。如果端点 URL 包含用户和密码信息,则必须通过 HTTPS 进行请求。otheriwse,主题的 get 请求将被拒绝。-
EndPointArgs
:端点参数。 -
EndpointTopic
:发送到端点的主题名称可以与上例主题名称不同。 -
HasStoredSecret
:当端点 URL 包含用户和密码信息时为true
。 -
Persistent
: 当主题是持久的则为true
。
-
-
TopicArn
: Topic ARN。 -
OpaqueData
:这是在主题上设置的不透明数据。
-
2.15.5. 列出主题 复制链接链接已复制到粘贴板!
列出用户已定义的主题。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 根级别访问权限.
- 安装 Ceph 对象网关.
- 用户 access key 和 secret key。
- 端点参数.
流程
使用以下请求格式列出主题信息:
语法
POST Action=ListTopics
POST Action=ListTopics
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是响应格式的示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果端点 URL 包含用户和密码信息,在任何主题中,则必须通过 HTTPS 进行请求。否则,主题列表请求将被拒绝。
2.15.6. 删除主题 复制链接链接已复制到粘贴板!
删除删除的主题不会导致操作,且不是失败。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 根级别访问权限.
- 安装 Ceph 对象网关.
- 用户 access key 和 secret key。
- 端点参数.
流程
使用以下请求格式删除主题:
语法
POST Action=DeleteTopic &TopicArn=TOPIC_ARN
POST Action=DeleteTopic &TopicArn=TOPIC_ARN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是响应格式的示例:
<DeleteTopicResponse xmlns="https://sns.amazonaws.com/doc/2020-03-31/"> <ResponseMetadata> <RequestId></RequestId> </ResponseMetadata> </DeleteTopicResponse>
<DeleteTopicResponse xmlns="https://sns.amazonaws.com/doc/2020-03-31/"> <ResponseMetadata> <RequestId></RequestId> </ResponseMetadata> </DeleteTopicResponse>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.15.7. 使用命令行界面管理主题 复制链接链接已复制到粘贴板!
您可以使用命令行界面列出、获取和删除主题。
先决条件
- Ceph 对象网关节点的根级别访问权限.
流程
获取用户的所有主题列表:
语法
radosgw-admin topic list --uid=USER_ID
radosgw-admin topic list --uid=USER_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin topic list --uid=example
[root@rgw ~]# radosgw-admin topic list --uid=example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取特定主题的配置:
语法
radosgw-admin topic get --uid=USER_ID --topic=TOPIC_NAME
radosgw-admin topic get --uid=USER_ID --topic=TOPIC_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin topic get --uid=example --topic=example-topic
[root@rgw ~]# radosgw-admin topic get --uid=example --topic=example-topic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除特定主题:
语法
radosgw-admin topic rm --uid=USER_ID --topic=TOPIC_NAME
radosgw-admin topic rm --uid=USER_ID --topic=TOPIC_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin topic rm --uid=example --topic=example-topic
[root@rgw ~]# radosgw-admin topic rm --uid=example --topic=example-topic
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.15.8. 事件记录 复制链接链接已复制到粘贴板!
事件包含有关 Ceph 对象网关执行的操作的信息,并通过所选端点(如 HTTP、HTTPS、Kafka 或 AMQ0.9.1)作为有效负载发送。事件记录采用 JSON 格式。
从 Red Hat Ceph Storage 6 开始,支持以下 ObjectLifecycle:Expiration
事件:
-
ObjectLifecycle:Expiration:Current
-
ObjectLifecycle:Expiration:NonCurrent
-
ObjectLifecycle:Expiration:DeleteMarker
-
ObjectLifecycle:Expiration:AbortMultipartUpload
示例
以下是事件记录密钥及其定义:
-
awsRegion
: Zonegroup。 -
eventTime
: 指示触发事件的时间的时间戳。 -
eventName
:事件类型。它可以是ObjectCreated
、ObjectRemoved
或ObjectLifecycle:Expiration
-
userIdentity.principalId
:触发该事件的用户的身份。 -
requestParameters.sourceIPAddress
:触发该事件的客户端的 IP 地址。不支持此字段。 -
responseElements.x-amz-request-id
:触发事件的请求 ID。 -
responseElements.x_amz_id_2
:触发事件的 Ceph 对象网关的身份。身份格式为 RGWID-ZONE-ZONEGROUP。 -
s3.configurationId
:创建事件的通知 ID。 -
s3.bucket.name
:存储桶的名称。 -
s3.bucket.ownerIdentity.principalId
:存储桶的所有者。 -
s3.bucket.arn
: bucket 的 Amazon Resource Name(ARN)。 -
s3.bucket.id
:存储桶的身份。 -
s3.object.key
:对象键。 -
s3.object.size
:对象的大小。 -
s3.object.eTag
:对象 etag。 -
s3.object.version
:版本控制存储桶中的对象版本。 -
s3.object.sequencer
:以十六进制格式为每个对象增大更改的标识符。 -
s3.object.metadata
:对象上设置的任何元数据,作为x-amz-meta
。 -
s3.object.tags
:对象上设置的任何标签。 -
s3.eventId
:事件的唯一标识。 -
s3.opaqueData
: Opaque 数据在主题配置中设置,并添加到该主题触发的所有通知中。
2.15.9. 获取存储桶信息 复制链接链接已复制到粘贴板!
获取有关现有 bucket 子集的信息。如果在没有 bucket
的情况下指定 uid
,则返回属于该用户的所有存储桶。如果只指定 存储桶
,则会检索该特定存储桶的信息。
功能
`buckets=read`
`buckets=read`
语法
GET /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
GET /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 用于返回信息的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 否
uid
- 描述
- 检索存储桶信息的用户。
- Type
- 字符串
- 示例
-
foo_user
- 必需
- 否
stats
- 描述
- 返回存储桶统计信息。
- Type
- 布尔值
- 示例
- True [False]
- 必需
- 否
响应实体
stats
- 描述
- 每个存储桶信息。
- Type
- Container
- 父
- 不适用
bucket
- 描述
- 包含一个或多个 bucket 容器的列表。
- Type
- Container
- 父
-
bucket
bucket
- 描述
- 用于单一存储桶信息的容器。
- Type
- Container
- 父
-
bucket
名称
- 描述
- bucket 的名称。
- Type
- 字符串
- 父
-
bucket
pool
- 描述
- bucket 存储在其中的池。
- Type
- 字符串
- 父
-
bucket
id
- 描述
- 唯一的存储桶 ID。
- Type
- 字符串
- 父
-
bucket
marker
- 描述
- 内部存储桶标签。
- Type
- 字符串
- 父
-
bucket
owner
- 描述
- bucket 所有者的用户 ID。
- Type
- 字符串
- 父
-
bucket
usage
- 描述
- 存储使用信息。
- Type
- Container
- 父
-
bucket
index
- 描述
- bucket 索引的状态。
- Type
- 字符串
- 父
-
bucket
如果成功,请求会返回带有存储桶信息的 bucket 容器。
特殊错误响应
IndexRepairFailed
- 描述
- bucket 索引修复失败。
- 代码
- 409 冲突
2.15.10. 检查存储桶索引 复制链接链接已复制到粘贴板!
检查现有存储桶的索引。
要检查带有 check-objects
的多部分对象核算,fix
必须设为 True。
功能
buckets=write
语法
GET /admin/bucket?index&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
GET /admin/bucket?index&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 用于返回信息的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 是
check-objects
- 描述
- 检查 multipart 对象核算。
- Type
- 布尔值
- 示例
- True [False]
- 必需
- 否
fix
- 描述
- 另外,在检查时修复存储桶索引。
- Type
- 布尔值
- 示例
- false [False]
- 必需
- 否
响应实体
index
- 描述
- bucket 索引的状态。
- Type
- 字符串
特殊错误响应
IndexRepairFailed
- 描述
- bucket 索引修复失败。
- 代码
- 409 冲突
2.15.11. 删除存储桶 复制链接链接已复制到粘贴板!
删除现有的存储桶。
功能
`buckets=write`
`buckets=write`
语法
DELETE /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 要删除的存储桶。
- 类型
- 字符串
- 示例
-
foo_bucket
- 必需
- 是
purge-objects
- 描述
- 在删除前删除存储桶的对象。
- 类型
- 布尔值
- 示例
- True [False]
- 必需
- 否
响应实体
无。
特殊错误响应
BucketNotEmpty
- 描述
- 尝试删除非空存储桶。
- 代码
- 409 冲突
ObjectRemovalFailed
- 描述
- 无法删除对象。
- 代码
- 409 冲突
2.15.12. 链接存储桶 复制链接链接已复制到粘贴板!
将存储桶链接到指定用户,从任何先前用户取消链接存储桶。
功能
`buckets=write`
`buckets=write`
语法
PUT /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
PUT /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 取消链接的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 是
uid
- 描述
- 将存储桶链接到的用户 ID。
- Type
- 字符串
- 示例
-
foo_user
- 必需
- 是
响应实体
bucket
- 描述
- 用于单一存储桶信息的容器。
- Type
- Container
- 父
- 不适用
名称
- 描述
- bucket 的名称。
- Type
- 字符串
- 父
-
bucket
pool
- 描述
- bucket 存储在其中的池。
- Type
- 字符串
- 父
-
bucket
id
- 描述
- 唯一的存储桶 ID。
- Type
- 字符串
- 父
-
bucket
marker
- 描述
- 内部存储桶标签。
- Type
- 字符串
- 父
-
bucket
owner
- 描述
- bucket 所有者的用户 ID。
- Type
- 字符串
- 父
-
bucket
usage
- 描述
- 存储使用信息。
- Type
- Container
- 父
-
bucket
index
- 描述
- bucket 索引的状态。
- Type
- 字符串
- 父
-
bucket
特殊错误响应
BucketUnlinkFailed
- 描述
- 无法从指定用户取消链接存储桶。
- 代码
- 409 冲突
BucketLinkFailed
- 描述
- 无法将存储桶链接到指定用户。
- 代码
- 409 冲突
2.15.13. 取消链接存储桶 复制链接链接已复制到粘贴板!
从指定用户取消链接存储桶。主要用于更改 bucket 所有权。
功能
`buckets=write`
`buckets=write`
语法
POST /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
POST /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 取消链接的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 是
uid
- 描述
- 将存储桶链接到的用户 ID。
- Type
- 字符串
- 示例
-
foo_user
- 必需
- 是
响应实体
无。
特殊错误响应
BucketUnlinkFailed
- 描述
- 无法从指定用户取消链接存储桶。
- Type
- 409 冲突
2.15.14. 获取存储桶或对象策略 复制链接链接已复制到粘贴板!
对一个对象或 bucket 的读取策略。
功能
`buckets=read`
`buckets=read`
语法
GET /admin/bucket?policy&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
GET /admin/bucket?policy&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 要从中读取策略的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 是
object
- 描述
- 从中读取策略的对象。
- Type
- 字符串
- 示例
-
foo.txt
- 必需
- 否
响应实体
policy
- 描述
- 访问控制策略。
- Type
- Container
- 父
- 不适用
如果成功,返回对象或存储桶策略
特殊错误响应
IncompleteBody
- 描述
- 没有为存储桶策略请求指定存储桶,或未为对象策略请求指定对象。
- 代码
- 400 错误请求
2.15.15. 删除对象 复制链接链接已复制到粘贴板!
删除现有对象。
不需要所有者才能终止。
功能
`buckets=write`
`buckets=write`
语法
DELETE /admin/bucket?object&format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/bucket?object&format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 包含要删除的对象的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 是
object
- 描述
- 要删除的对象
- Type
- 字符串
- 示例
-
foo.txt
- 必需
- 是
响应实体
无。
特殊错误响应
NoSuchObject
- 描述
- 指定对象不存在。
- 代码
- 404 not Found
ObjectRemovalFailed
- 描述
- 无法删除对象。
- 代码
- 409 冲突
2.15.16. 配额 复制链接链接已复制到粘贴板!
管理操作 API 允许您在用户和用户拥有的 bucket 上设置配额。配额包括 bucket 中对象的最大数量,以及最大存储大小(以 MB 为单位)。
要查看配额,用户必须具有 users=read
能力。要设置,修改或禁用配额,用户必须具有 users=write
功能。
配额的有效参数包括:
-
Bucket:
bucket
选项允许您为用户拥有的 bucket 指定配额。 -
最大对象:
--max-objects
设置允许您指定对象的最大数量。负值将禁用此设置。 -
Maximum Size: 您可以使用
max-size
选项为最大字节数指定配额。负值将禁用此设置。 -
Quota Scope:
quota-scope
选项设定配额的范围。选项为bucket
和user
。
2.15.17. 获取用户配额 复制链接链接已复制到粘贴板!
要获得配额,用户必须具有带有 read
权限的 users
能力。
语法
GET /admin/user?quota&uid=UID"a-type=user
GET /admin/user?quota&uid=UID"a-type=user
2.15.18. 设置用户配额 复制链接链接已复制到粘贴板!
要获得配额,用户必须具有带有 write
权限的 users
能力。
语法
PUT /admin/user?quota&uid=UID"a-type=user
PUT /admin/user?quota&uid=UID"a-type=user
内容必须包括配额设置的 JSON 表示,如相应读取操作中编码。
2.15.19. 获取存储桶配额 复制链接链接已复制到粘贴板!
获取有关现有 bucket 子集的信息。如果在没有 bucket
的情况下指定 uid
,则返回属于该用户的所有存储桶。如果只指定 存储桶
,则会检索该特定存储桶的信息。
功能
`buckets=read`
`buckets=read`
语法
GET /admin/bucket?format=json HTTP/1.1 Host FULLY_QUALIFIED_DOMAIN_NAME
GET /admin/bucket?format=json HTTP/1.1
Host FULLY_QUALIFIED_DOMAIN_NAME
请求参数
bucket
- 描述
- 用于返回信息的存储桶。
- Type
- 字符串
- 示例
-
foo_bucket
- 必需
- 否
uid
- 描述
- 检索存储桶信息的用户。
- Type
- 字符串
- 示例
-
foo_user
- 必需
- 否
stats
- 描述
- 返回存储桶统计信息。
- Type
- 布尔值
- 示例
- True [False]
- 必需
- 否
响应实体
stats
- 描述
- 每个存储桶信息。
- Type
- Container
- 父
- 不适用
bucket
- 描述
- 包含一个或多个 bucket 容器的列表。
- Type
- Container
- 父
- 不适用
bucket
- 描述
- 用于单一存储桶信息的容器。
- Type
- Container
- 父
-
bucket
名称
- 描述
- bucket 的名称。
- Type
- 字符串
- 父
-
bucket
pool
- 描述
- bucket 存储在其中的池。
- Type
- 字符串
- 父
-
bucket
id
- 描述
- 唯一的存储桶 ID。
- Type
- 字符串
- 父
-
bucket
marker
- 描述
- 内部存储桶标签。
- Type
- 字符串
- 父
-
bucket
owner
- 描述
- bucket 所有者的用户 ID。
- Type
- 字符串
- 父
-
bucket
usage
- 描述
- 存储使用信息。
- Type
- Container
- 父
-
bucket
index
- 描述
- bucket 索引的状态。
- Type
- 字符串
- 父
-
bucket
如果成功,请求会返回带有存储桶信息的 bucket 容器。
特殊错误响应
IndexRepairFailed
- 描述
- bucket 索引修复失败。
- 代码
- 409 冲突
2.15.20. 设置存储桶配额 复制链接链接已复制到粘贴板!
要获得配额,用户必须具有带有 write
权限的 users
能力。
语法
PUT /admin/user?quota&uid=UID"a-type=bucket
PUT /admin/user?quota&uid=UID"a-type=bucket
内容必须包括配额设置的 JSON 表示,如相应读取操作中编码。
2.15.21. 获取用法信息 复制链接链接已复制到粘贴板!
请求带宽使用量信息。
功能
`usage=read`
`usage=read`
语法
GET /admin/usage?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
GET /admin/usage?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
请求参数
uid
- 描述
- 请求信息的用户。
- Type
- 字符串
- 必填
- 是
start
- 描述
-
数据请求时,以及(可选)数据请求的时间。例如,2012
-09-25 16:00:00
。 - Type
- 字符串
- 必需
- 否
end
- 描述
-
日期以及数据请求结束的时间(可选)。例如,2012
-09-25 16:00:00
。 - Type
- 字符串
- 必需
- 否
show-entries
- 描述
- 指定是否应返回数据条目。
- Type
- 布尔值
- 必需
- 否
show-summary
- 描述
- 指定是否应返回数据条目。
- Type
- 布尔值
- 必需
- 否
响应实体
usage
- 描述
- 用于用法信息的容器。
- Type
- Container
条目
- 描述
- 用于用法条目信息的容器。
- Type
- Container
user
- 描述
- 用于用户数据信息的容器。
- Type
- Container
owner
- 描述
- 拥有存储桶的用户的名称。
- Type
- 字符串
bucket
- 描述
- bucket 名称。
- Type
- 字符串
time
- 描述
- 指定数据的时间下限到第一个相关小时的开头。
- Type
- 字符串
epoch
- 描述
-
自
1/1/1970
起的时间(以秒为单位)。 - Type
- 字符串
categories
- 描述
- 用于统计类别的容器。
- Type
- Container
entry
- 描述
- 用于统计条目的容器。
- Type
- Container
category
- 描述
- 提供统计的请求类别的名称。
- Type
- 字符串
bytes_sent
- 描述
- Ceph 对象网关发送的字节数。
- Type
- 整数
bytes_received
- 描述
- Ceph 对象网关收到的字节数。
- Type
- 整数
ops
- 描述
- 操作数量。
- Type
- 整数
successful_ops
- 描述
- 成功操作数量。
- Type
- 整数
summary
- 描述
- 成功操作数量。
- Type
- Container
total
- 描述
- 容器用于统计摘要聚合的总数。
- Type
- Container
如果成功,响应包含请求的信息。
2.15.22. 删除使用信息 复制链接链接已复制到粘贴板!
删除使用信息。如果未指定日期,可删除所有使用信息。
功能
`usage=write`
`usage=write`
语法
DELETE /admin/usage?format=json HTTP/1.1 Host: FULLY_QUALIFIED_DOMAIN_NAME
DELETE /admin/usage?format=json HTTP/1.1
Host: FULLY_QUALIFIED_DOMAIN_NAME
请求参数
uid
- 描述
- 请求信息的用户。
- Type
- 字符串
- 示例
-
foo_user
- 必需
- 是
start
- 描述
-
数据请求时,以及(可选)数据请求的时间。例如,2012
-09-25 16:00:00
。 - Type
- 字符串
- 示例
-
2012-09-25 16:00:00
- 必需
- 否
end
- 描述
-
日期以及数据请求结束的时间(可选)。例如,2012
-09-25 16:00:00
。 - Type
- 字符串
- 示例
-
2012-09-25 16:00:00
- 必需
- 否
remove-all
- 描述
-
未指定
uid
时需要此项以确认删除多用户数据。 - Type
- 布尔值
- 示例
- True [False]
- 必需
- 否
2.15.23. 标准错误响应 复制链接链接已复制到粘贴板!
以下列表详细介绍了标准错误响应及其描述。
AccessDenied
- 描述
- 拒绝访问。
- 代码
- 403 Forbidden
InternalError
- 描述
- 内部服务器错误.
- 代码
- 500 内部服务器错误
NoSuchUser
- 描述
- 用户不存在。
- 代码
- 404 not Found
NoSuchBucket
- 描述
- bucket 不存在。
- 代码
- 404 not Found
NoSuchKey
- 描述
- 没有这样的访问密钥。
- 代码
- 404 not Found