2.4.2. S3 创建存储桶通知
在 bucket 级别上创建 bucket 通知。通知配置具有 Red Hat Ceph Storage 对象网关 S3 事件,即 ObjectCreated
和 ObjectRemoved
。这些需要发布,以及发送 bucket 通知的目的地。bucket 通知是 S3 操作。
要为 s3:objectCreate
和 s3:objectRemove
事件创建存储桶通知,可使用 PUT:
示例
client.put_bucket_notification_configuration( Bucket=bucket_name, NotificationConfiguration={ 'TopicConfigurations': [ { 'Id': notification_name, 'TopicArn': topic_arn, 'Events': ['s3:ObjectCreated:*', 's3:ObjectRemoved:*'] }]})
重要
红帽支持 ObjectCreate
事件,如 put
, post
, multipartUpload
, 和 copy
。红帽还支持 ObjectRemove
事件,如 object_delete
和 s3_multi_object_delete
。
请求实体
NotificationConfiguration
- 描述
-
TopicConfiguration
实体列表。 - Type
- Container
- 必需
- 是
TopicConfiguration
- 描述
-
事件主题的
Id
,Topic
和list
。 - Type
- Container
- 必需
- 是
id
- 描述
- 通知的名称。
- Type
- 字符串
- 必需
- 是
Topic
- 描述
Topic Amazon Resource Name(ARN)
注意必须事先创建主题。
- Type
- 字符串
- 必需
- 是
事件
- 描述
- 支持的事件列表。可以使用多个事件实体。如果省略,则处理所有事件。
- Type
- 字符串
- 必需
- 否
Filter
- 描述
-
S3Key
、S3Metadata
和S3Tags
实体。 - Type
- Container
- 必需
- 否
S3Key
- 描述
-
FilterRule
实体列表,用于根据对象密钥进行过滤。最多 3 个实体可能位于列表中,例如Name
可以是为prefix
,suffix
或regex
。列表中的所有过滤规则必须与过滤器匹配。 - Type
- Container
- 必需
- 否
S3Metadata
- 描述
-
FilterRule
实体列表,用于根据对象元数据进行过滤。列表中的所有过滤规则必须与对象中定义的元数据匹配。但是,如果对象具有过滤器中没有列出的其他元数据条目,则对象仍然匹配。 - Type
- Container
- 必需
- 否
S3Tags
- 描述
-
FilterRule
实体列表,用于根据对象标签进行过滤。列表中的所有过滤规则必须与对象中定义的标签匹配。但是,如果对象没有列在过滤器中,则对象仍然匹配。 - Type
- Container
- 必需
- 否
S3Key.FilterRule
- 描述
-
Name
和Value
实体。Name 为:prefix
,suffix
或regex
.值
会保存键前缀、键后缀或正则表达式,用于相应地匹配的密钥。 - Type
- Container
- 必需
- 是
S3Metadata.FilterRule
- 描述
-
Name
和Value
实体。name 是x-amz-meta-xxx
等 metadata 属性的名称。该值是此属性的预期值。 - Type
- Container
- 必需
- 是
S3Tags.FilterRule
- 描述
-
Name
和Value
实体。name 是 tag 键,值为 tag 值。 - Type
- Container
- 必需
- 是
HTTP 响应
400
- 状态代码
-
MalformedXML
- 描述
- XML 并未充分创建。
400
- 状态代码
-
InvalidArgument
- 描述
- 缺少 Id 或 missing 或 invalid topic ARN 或 invalid event。
404
- 状态代码
-
NoSuchBucket
- 描述
- bucket 不存在。
404
- 状态代码
-
NoSuchKey
- 描述
- 主题不存在。
id="s3-get-bucket-notifications_dev"]