3.3. S3 存储桶操作


作为开发者,您可以通过 Ceph 对象网关通过 Amazon S3 应用编程接口(API)执行存储桶操作。

下表列出了存储桶的 Amazon S3 功能操作,以及功能的支持状态。

Expand
表 3.2. bucket 操作
功能Status备注

List Buckets

支持

 

创建 Bucket

支持

不同的一组可实施 ACL。

Put Bucket Website

支持

 

Get Bucket Website

支持

 

Delete Bucket Website

支持

 

放置 Bucket 复制

支持

 

获取 Bucket 复制

支持

 

删除 Bucket 复制

支持

 

bucket 生命周期

部分支持

支持 Expiration, NoncurrentVersionExpirationAbortIncompleteMultipartUpload

Put Bucket Lifecycle

部分支持

支持 Expiration, NoncurrentVersionExpirationAbortIncompleteMultipartUpload

Delete Bucket Lifecycle

支持

 

Get Bucket Objects

支持

 

bucket 位置

支持

 

Get Bucket Version

支持

 

Put Bucket Version

支持

 

删除 Bucket

支持

 

获取 Bucket ACL

支持

不同的可处理 ACL 集

放置 Bucket ACL

支持

不同的可处理 ACL 集

Get Bucket cors

支持

 

Put Bucket cors

支持

 

Delete Bucket cors

支持

 

列出 Bucket 对象版本

支持

 

head Bucket

支持

 

List Bucket Multipart Uploads

支持

 

bucket 策略

部分支持

 

Get a Bucket Request Payment

支持

 

Put a Bucket Request Payment

支持

 

多租户 Bucket 操作

支持

 

GET PublicAccessBlock

支持

 

PUT PublicAccessBlock

支持

 

删除 PublicAccessBlock

支持

 

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • RESTful 客户端。

3.3.1. S3 创建存储桶通知

在 bucket 级别上创建 bucket 通知。通知配置具有 Red Hat Ceph Storage 对象网关 S3 事件、ObjectCreatedObjectRemovedObjectLifecycle:Expiration。这些需要发布,以及发送 bucket 通知的目的地。bucket 通知是 S3 操作。

要为 s3:objectCreate,s3:objectRemoves3:ObjectLifecycle:Expiration 事件创建一个存储桶通知,请使用 PUT:

示例

client.put_bucket_notification_configuration(
   Bucket=bucket_name,
   NotificationConfiguration={
       'TopicConfigurations': [
           {
               'Id': notification_name,
               'TopicArn': topic_arn,
               'Events': ['s3:ObjectCreated:*', 's3:ObjectRemoved:*', 's3:ObjectLifecycle:Expiration:*']
           }]})

重要

红帽支持 ObjectCreate 事件,如 put, post, multipartUpload, 和 copy。红帽还支持 ObjectRemove 事件,如 object_deletes3_multi_object_delete

请求实体

NotificationConfiguration
描述
TopicConfiguration 实体列表。
Type
Container
必需
TopicConfiguration
描述
事件主题的 Id, Topiclist
Type
Container
必需
id
描述
通知的名称。
Type
字符串
必需
Topic
描述

Topic Amazon Resource Name(ARN)

注意

必须事先创建主题。

Type
字符串
必需
事件
描述
支持的事件列表。可以使用多个事件实体。如果省略,则处理所有事件。
Type
字符串
必填
Filter
描述
S3KeyS3MetadataS3Tags 实体。
Type
Container
必需
S3Key
描述
FilterRule 实体列表,用于根据对象密钥进行过滤。列表中最多可以有 3 个实体,例如,Nameprefix, suffix, 或 regex。列表中的所有过滤规则必须与过滤器匹配。
Type
Container
必需
S3Metadata
描述
FilterRule 实体列表,用于根据对象元数据进行过滤。列表中的所有过滤规则必须与对象中定义的元数据匹配。但是,如果对象具有过滤器中没有列出的其他元数据条目,则对象仍然匹配。
类型
Container
必需
S3Tags
描述
FilterRule 实体列表,用于根据对象标签进行过滤。列表中的所有过滤规则必须与对象中定义的标签匹配。但是,如果对象没有列在过滤器中,则对象仍然匹配。
Type
Container
必需
S3Key.FilterRule
描述
NameValue 实体。Name 为: prefix,suffix, 或 regex.Value 将保存用于相应地匹配密钥的密钥前缀、密钥后缀或正则表达式。
Type
Container
必需
S3Metadata.FilterRule
描述
NameValue 实体。name 是 x-amz-meta-xxx 等 metadata 属性的名称。该值是此属性的预期值。
Type
Container
必需
S3Tags.FilterRule
描述
NameValue 实体。name 是 tag 键,值为 tag 值。
Type
Container
必需

HTTP 响应

400
状态代码
MalformedXML
描述
XML 的格式不正确。
400
状态代码
InvalidArgument
描述
缺少 Id 或缺失或无效的主题 ARN 或无效事件。
404
状态代码
NoSuchBucket
描述
bucket 不存在。
404
状态代码
NoSuchKey
描述
主题不存在。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部