2.4.2. S3 创建存储桶通知

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

要为 s3:objectCreates3: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_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 个实体可能位于列表中,例如 Name 可以是为 prefix, suffixregex。列表中的所有过滤规则必须与过滤器匹配。
Type
Container
必需
S3Metadata
描述
FilterRule 实体列表,用于根据对象元数据进行过滤。列表中的所有过滤规则必须与对象中定义的元数据匹配。但是,如果对象具有过滤器中没有列出的其他元数据条目,则对象仍然匹配。
Type
Container
必需
S3Tags
描述
FilterRule 实体列表,用于根据对象标签进行过滤。列表中的所有过滤规则必须与对象中定义的标签匹配。但是,如果对象没有列在过滤器中,则对象仍然匹配。
Type
Container
必需
S3Key.FilterRule
描述
NameValue 实体。Name 为: prefix, suffixregex. 会保存键前缀、键后缀或正则表达式,用于相应地匹配的密钥。
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 或 missing 或 invalid topic ARN 或 invalid event。
404
状态代码
NoSuchBucket
描述
bucket 不存在。
404
状态代码
NoSuchKey
描述
主题不存在。

id="s3-get-bucket-notifications_dev"]