更新时间:2025-08-13 GMT+08:00
分享

设置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

请求消息元素

表1 请求消息元素

参数名称

是否必选

参数类型

描述

rules

Container

参数解释:

策略规则数组,具体说明请详见rules参数说明。rules是id、stream、project、agency、events、prefix、suffix的父节点。

约束限制:

同一个桶下的不同策略前缀不能重复和起始包含,委托建议使用同一个。

取值范围:

数组大小的取值范围为[1, 10]。

默认取值:

不涉及

表2 rules参数说明

参数名称

是否必选

参数类型

描述

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

相关文档