设置DIS通知策略
功能介绍
本接口用于为指定桶配置DIS通知策略。接口是幂等的,如果桶上已存在相同策略内容,则返回成功,status code返回值为200;否则status code返回值为201。
请求消息样式
PUT /?disPolicy HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Authorization: authorization Content-Type: application/json Content-Length: length Date: date Body: { "rules": [{ "id":"rule_id", "stream": "stream_name", "project": "project_id", "events": ["ObjectCreated:*", "ObjectRemoved:*"], "prefix": "", "suffix": "", "agency": "agency_name" }] }
请求消息参数
该请求消息中不使用消息参数。
请求消息头
该请求使用公共消息头,具体参见表3。
请求消息元素
参数名称 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
rules |
是 |
Container |
参数解释: 策略规则数组,具体说明请详见rules参数说明。rules是id、stream、project、agency、events、prefix、suffix的父节点。 约束限制: 同一个桶下的不同策略前缀不能重复和起始包含,委托建议使用同一个。 取值范围: 数组大小的取值范围为[1, 10]。 默认取值: 不涉及 |
参数名称 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
是 |
String |
参数解释: 设置DIS通知策略的规则ID。当前桶上配置的DIS策略规则的唯一标识。 约束限制: 该规则ID为桶内唯一。 取值范围: 长度为1~256的字符串,并且字符只能是大写字母、小写字母、数字、下划线(_)或连字符(-)。 默认取值: 不涉及 |
stream |
是 |
String |
参数解释: DIS服务通道名称。 约束限制: 需要先在DIS服务创建此通道。 取值范围: 不涉及 默认取值: 不涉及 |
project |
是 |
String |
参数解释: DIS服务通道所属的项目ID。 约束限制: 不涉及 取值范围: 获取项目ID的操作请参见获取账号、IAM用户、项目、用户组、区域、委托的名称和ID。 默认取值: 不涉及 |
events |
是 |
Arrayt |
参数解释: OBS事件列表。 约束限制: 不涉及 取值范围: 长度为0~1023的字符串,取值允许为任意字符。支持的事件类型请参见使用DIS发送OBS事件通知。 默认取值: 不涉及 |
prefix |
否 |
String |
参数解释: 对象名前缀。用于指定的对象名关键字,根据定义的前缀,输入需要过滤的对象的关键字信息,字符越长匹配精度越高。 约束限制: prefix和suffix加起来长度最大为1024的字符串。 取值范围: 长度为0~1024的字符串。 默认取值: 不涉及 |
suffix |
否 |
String |
参数解释: 对象名后缀。用于指定的对象名关键字,根据定义的后缀,输入需要过滤的对象的关键字信息,字符越长匹配精度越高。 约束限制: prefix和suffix加起来长度最大为1024的字符串。 取值范围: 长度为0~1024的字符串。 默认取值: 不涉及 |
agency |
是 |
String |
参数解释: IAM委托名。 约束限制: 被委托方必须包含对OBS的访问权限,赋予的权限必须是DIS服务的DIS Administrator或DIS User。 取值范围: 不涉及 默认取值: 不涉及 |
响应消息样式
HTTP/1.1 status Server: OBS Date: date Content-Length: length
响应消息头
该请求的响应消息使用公共消息头,具体请参考表1。
响应消息元素
该请求的响应消息中不带消息元素。
错误响应消息
无特殊错误,所有错误已经包含在表2中。
请求示例
PUT /?disPolicy HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo= Content-Type: application/json Content-Length: 1049 Date: Tue, 21 Jul 2020 15:38:30 GMT { "rules": [{ "id":"event-01", "stream": "stream_name", "project": "project_id", "events": ["ObjectCreated:*", "ObjectRemoved:*"], "prefix": "", "suffix": "", "agency": "dis_agency" }] }
响应示例
HTTP/1.1 201 Created Server: OBS Date: Tue, 07 Jul 2020 07:29:13 GMT Content-Length: 0