华为云计算 云知识 设置桶的消息通知配置SetBucketNotification
设置桶的消息通知配置SetBucketNotification

 

接口说明

OBS 消息通知 功能能够帮助您对桶的重要的操作及时通知到您,确保您安全、及时知道发生在桶上的关键事件。

默认情况下,您的桶没有配置事件通知。这个时候桶的通知配置将是一个空NotificationConfiguration。对已配置有事件通知的桶,可以通过添加空NotificationConfiguration元素禁用消息通知功能。

<NotificationConfiguration> </NotificationConfiguration>

目前 对象存储服务 (OBS)支持包括简单通知服务( SMN )、 函数工作流 服务(FunctionGraph)在内的两种桶通知服务配置。以SMN为例,当OBS接收到配置消息通知的请求后,会验证指定的消息通知服务(SMN)主题是否存在及主题策略是否授权给了 对象存储 服务,验证通过后会向该主题订阅者发送一个测试消息通知。

为了能成功执行此配置操作,需要确保执行者拥有PutBucketNotification权限。默认情况下只有桶的所有者拥有该权限,但可以通过设置桶策略授权给其他用户。

URL
PUT  https://obs.cn-north-4.myhuaweicloud.com/ 
请求参数
名称 类型 IN 必选 描述
Authorization
 
string header

请求消息中可带的签名信息。

Date
 
string header

请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。

bucket_name
 
string query

请求的桶名称。

notification
 
string query

notification表示请求桶的消息通知配置API。

Body参数
名称 类型 必选 描述
TopicConfiguration
 
Array of TopicConfiguration objects  
FunctionStageConfiguration
 
Array of FunctionStageConfiguration objects  
参数:
TopicConfiguration
名称 类型 必选 描述
Id
 
string

每项事件通知配置的唯一标识,若是用户未指定ID,系统将自动分配一个ID。

Filter
 
Filter object

Object的元素,用以保存过滤对象名的一组规则。

Topic
 
string

事件通知主题的URN,当OBS检测到桶中发生特定的事件后,将会发布通知消息至该主题,可以在消息通知服务主题部分找到具体值。 模板:<Topic>urn:smn:region:project_id:smn_topic</Topic>

Event
 
string

需要发布通知消息的事件类型。 说明:在一个TopicConfiguration、FunctionStageConfiguration配置项中可以添加多个事件类型。 合法值: 上传对象操作可以取以下值: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload

或者使用通配符支持所有上传操作 ObjectCreated:*

删除对象操作可以取以下值: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated

或者使用通配符支持所有删除操作 ObjectRemoved:*

参数:
TopicConfiguration.Filter
名称 类型 必选 描述
Object
 
FilterObject object

定义过滤规则的元素,该规则用以匹配对象名前缀和后缀。

参数:
TopicConfiguration.Filter.Object
名称 类型 必选 描述
FilterRule
 
Array of FilterRule objects  
参数:
TopicConfiguration.Filter.Object.FilterRule
名称 类型 必选 描述
Name
 
string

指定规则按对象名前缀或后缀进行过滤。

Value
 
string

指定的对象名关键字,根据Name元素定义的前缀或后缀,输入需要过滤的对象的关键字信息,字符越长匹配精度越高,最大可支持1024个字符。

参数:
FunctionStageConfiguration
名称 类型 必选 描述
Id
 
string

每项事件通知配置的唯一标识,若是用户未指定ID,系统将自动分配一个ID。

Filter
 
Filter object

Object的元素,用以保存过滤对象名的一组规则。

Topic
 
string

事件通知主题的URN,当OBS检测到桶中发生特定的事件后,将会发布通知消息至该主题,可以在消息通知服务主题部分找到具体值。 模板:<Topic>urn:smn:region:project_id:smn_topic</Topic>

Event
 
string

需要发布通知消息的事件类型。 说明:在一个TopicConfiguration、FunctionStageConfiguration配置项中可以添加多个事件类型。 合法值: 上传对象操作可以取以下值: ObjectCreated:Put ObjectCreated:Post ObjectCreated:Copy ObjectCreated:CompleteMultipartUpload

或者使用通配符支持所有上传操作 ObjectCreated:*

删除对象操作可以取以下值: ObjectRemoved:Delete ObjectRemoved:DeleteMarkerCreated

或者使用通配符支持所有删除操作 ObjectRemoved:*

FunctionStage
 
string

函数服务中函数的URN,当OBS检测到桶中发生特定的事件后,将会发送消息至函数服务调用执行该函数。 若添加父元素FunctionStageConfiguration,本元素是必选项。

参数:
FunctionStageConfiguration.Filter
名称 类型 必选 描述
Object
 
FilterObject object

定义过滤规则的元素,该规则用以匹配对象名前缀和后缀。

参数:
FunctionStageConfiguration.Filter.Object
名称 类型 必选 描述
FilterRule
 
Array of FilterRule objects  
参数:
FunctionStageConfiguration.Filter.Object.FilterRule
名称 类型 必选 描述
Name
 
string

指定规则按对象名前缀或后缀进行过滤。

Value
 
string

指定的对象名关键字,根据Name元素定义的前缀或后缀,输入需要过滤的对象的关键字信息,字符越长匹配精度越高,最大可支持1024个字符。

返回参数
返回码: 200

请求成功响应消息。

名称 类型 必选 描述
Content-Length
 
string

响应消息体的字节长度。

Connection
 
string

指明与服务器的连接是长连接还是短连接。

Date
 
string

OBS系统响应的时间。

ETag
 
string

对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。

x-obs-id-2
 
string

帮助定位问题的特殊符号。

x-obs-request-id
 
string

由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。

返回码: 400

请求失败响应消息。 除了公共的错误码外,此接口还会返回一些其他的错误码。下面列出本接口的一些常见错误,以及可能原因。

错误码 描述 HTTP状态码
InvalidArgument 该错误可能是由于下列原因导致。指定了不支持的event。指定的URN不存在或者填写错误,请确认URN合法。指定的URN中的区域与桶所在的区域不一致,请确保桶所在的区域与URN中的区域一致。指定的过滤规则之间存在互相包含或者重叠。 400 Bad Request
返回码: 403

请求失败响应消息。 除了公共的错误码外,此接口还会返回一些其他的错误码。下面列出本接口的一些常见错误,以及可能原因。

错误码 描述 HTTP状态码
AccessDenied 执行者不是桶的所有者,或者还未被授权PutBucketNotification权限。 403 Forbidden
名称 类型 必选 描述
Code
 
string

错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见错误码-表2

Message
 
string

错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见错误码-表2

RequestId
 
string

本次错误请求的请求ID,用于错误定位。

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

该错误相关的桶或对象资源。

请求示例
示例 1
 
"/?notification"
 
"PUT /?notification HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: examplebucket.obs.cn-north-4.myhuaweicloud.com\nAccept: */*\nDate: WED, 01 Jul 2015 03:15:45 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:uRTt8YTkAqJCUfWfYkveEcIGAC0=\nContent-Length: 538\n\n<NotificationConfiguration> \n <TopicConfiguration> \n <Id>ConfigurationId</Id> \n <Filter>\n <Object>\n <FilterRule>\n <Name>prefix</Name>\n <Value>object</Value>\n </FilterRule>\n <FilterRule>\n <Name>suffix</Name>\n <Value>txt</Value>\n </FilterRule>\n </Object> \n </Filter> \n <Topic>urn:smn:cn-east-3:4b29a3cb5bd64581bda5714566814bb7:tet555</Topic> \n <Event>ObjectCreated:Put</Event> \n </TopicConfiguration>\n</NotificationConfiguration>\n"
SDK
点击 对象存储服务 (OBS) SDK, 下载SDK或查看SDK文档。SDK的安装、认证方式等在SDK文档中对应语言类型的【使用】目录下。
错误码
请参考 错误码说明

 

上一篇:云数据库 下一篇:批量创建VPC资源标签BatchCreateVpcTags

应用使能 ROMA

应用使能 ROMA

华为云应用平台ROMA源自华为自身实践,聚焦数字化资产全生命周期治理,提供应用的开发、托管、运维和集成一站式能力,联合合作伙伴,基于实践快速构建行业使能服务,降低数字化系统成本,帮助客户构筑数字化应用平台,服务数字经济,繁荣伙伴生态。

华为云应用平台ROMA源自华为自身实践,聚焦数字化资产全生命周期治理,提供应用的开发、托管、运维和集成一站式能力,联合合作伙伴,基于实践快速构建行业使能服务,降低数字化系统成本,帮助客户构筑数字化应用平台,服务数字经济,繁荣伙伴生态。