设置DIS通知策略-PutDisPolicy
功能介绍
可以通过本接口为指定桶配置DIS通知策略。了解更多设置DIS通知策略的相关信息,请参见使用DIS发送OBS事件通知。
接口约束
- 需要使用IAM的角色与策略授权功能,增加Tenant Administrator权限后才能设置、获取、删除DIS通知策略。使用DIS消息通知需要使用IAM的角色与策略授权功能,创建对OBS云服务的委托,委托赋予的权限需为数据接入服务DIS的DIS User权限。
- 一个桶中最多同时配置10条DIS通知规则。
- 对于时延敏感(秒级)的业务,消息通知无法保证时延。
- 新创建的DIS通知将在5分钟之内生效。
- 一个桶的多条DIS通知规则不允许重复,即任意对象在发生任意事件时都不能同时匹配两条以上的DIS通知规则,重复规则会创建失败。
针对同一事件,如果配置了一条前后缀都为空的规则,则不允许再配置第二条规则。前后缀都为空表示对所有对象生效。
例如:针对Put事件,已存在一条规则A,定义的前缀是“abcd”,后缀是“.txt”。如果要创建另外一条针对Put事件的规则B,则规则B配置不同前后缀的结果如表1所示。
授权信息
您必须是拥有Tenant Administrator权限,才能调用本接口。配置Tenant Administrator权限,需要使用角色与策略授权(旧版IAM,即IAM v3接口),授权操作请参考使用IAM授权。
请求消息样式
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"
}]
} URI参数(URI Parameters)
该请求消息中不使用消息参数。
请求头参数(Request headers)
该请求使用公共请求头,具体参见表3。
请求体参数(Request body)
| 参数名称 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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
响应头 (Response Headers)
该请求的响应消息使用公共响应头,具体请参考表1。
响应体 (Response Body)
本接口的响应消息中不携带响应体。
错误响应消息
无特殊错误,所有错误已经包含在表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
相关文档
- 了解更多设置DIS通知策略的相关信息,请参见使用DIS发送OBS事件通知。
- API操作涉及的计费项参见计费项。