
# 配置桶触发器-CreateWorkflowTrigger
#### 功能介绍
本接口用于在桶上绑定工作流触发器。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
如果使用角色与策略授权，具体权限要求请参见[权限及授权项说明](https://support.huaweicloud.com/api-dwr/dwr_07_0050.html)。
#### 请求消息样式
```
PUT /?obsworkflowtriggerpolicy HTTP/1.1
Host: bucket.obs.cn-north-4.myhuaweicloud.com 
Authorization: authorization
Content-Type: application/json
Content-Length: length
Date: date
json body
```
#### 请求消息参数
该请求消息中不使用消息参数。
#### 请求消息头
该请求使用公共消息头，具体参见[表3](https://support.huaweicloud.com/api-dwr/dwr_07_0008.html#dwr_07_0008__zh-cn_topic_0121682347_table1986821153312)。
#### 请求消息元素
表1请求消息元素 
| 名称    | 是否必选 | 参数类型  | 说明                                                                             | 约束                                              |
|:---|:---|:---|:---|:---|
| rules | 是    | Array | 策略规则数组，请参考[Rule结构体]。 | 在同一个桶中，关联同一个工作流的不同策略条件（prefix、suffix）不能重复和起始包含。 |
   
 表2Rule结构体说明 
| 名称        | 是否必选 | 参数类型         | 说明                                                                              | 约束                                                                                                                                                        |
|:---|:---|:---|:---|:---|
| id        | 是    | String       | 策略规则ID。                                                                         | 规则ID只允许由大写或小写的英文字母、数字、下划线和连字符组成，必须在1到256个字符之间。 策略中不允许出现相同规则ID。                                       |
| graph_urn | 是    | String       | 工作流URN。                                                                         | 需要先创建此工作流。                                                                                                                                                |
| events    | 是    | Array String | OBS事件列表，请参考[OBS事件类型]。 | -                                                                                                                                                         |
| prefix    | 否    | String       | 对象名前缀。                                                                          | 用于指定的对象名关键字，根据定义的前缀，输入需要过滤的对象的关键字信息，字符越长匹配精度越高，最大可支持1024个字符，最小可为空。 同时，prefix和suffix加起来长度最大为1024个字符。 |
| suffix    | 否    | String       | 对象名后缀。                                                                          | 用于指定的对象名关键字，根据定义的后缀，输入需要过滤的对象的关键字信息，字符越长匹配精度越高，最大可支持1024个字符，最小可为空。 同时，prefix和suffix加起来长度最大为1024个字符。  |
   
 表3OBS事件类型描述 
| 事件类型                                   | 描述               | 值                                     |
|:---|:---|:---|
| OBJECT_CREATED_PUT                     | Put上传对象操作。       | ObjectCreated:Put                     |
| OBJECT_CREATED_POST                    | Post上传对象操作。      | ObjectCreated:Post                    |
| OBJECT_CREATED_COPY                    | Copy上传对象操作。      | ObjectCreated:Copy                    |
| OBJECT_CREATED_COMPLETEMULTIPARTUPLOAD | 合并段上传对象操作。       | ObjectCreated:CompleteMultipartUpload |
| OBJECT_CREATED_ALL                     | 使用通配符支持所有上传对象操作。 | ObjectCreated:\*                      |
| OBJECT_REMOVED_DELETE                  | 删除对象操作。          | ObjectRemoved:Delete                  |
| OBJECT_REMOVED_DELETEMARKERCREATED     | 删除对象操作。          | ObjectRemoved:DeleteMarkerCreated     |
| OBJECT_REMOVED_ALL                     | 使用通配符支持所有删除对象操作。 | ObjectRemoved:\*                      |
   
#### 响应消息样式
```
HTTP/1.1 status_code 
Date: date 
Content-Length: length 
X-Request-ID: obs request id
```
#### 响应消息头
该请求的响应消息使用公共消息头，具体请参考[响应消息头](https://support.huaweicloud.com/api-dwr/dwr_07_0011.html#dwr_07_0011__zh-cn_topic_0170155703_zh-cn_topic_0113746487_section61333484715)。
#### 响应消息元素
该响应消息中不包含元素。
#### 错误响应消息
无特殊错误，所有错误已经包含在[错误码](https://support.huaweicloud.com/api-dwr/ErrorCode_0.html)中。
#### 请求示例
```
PUT /?obsworkflowtriggerpolicy HTTP/1.1
Host: bucket.obs.cn-north-4.myhuaweicloud.com 
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=
Content-Type: application/json
Content-Length: 100
Date: Thu, 27 Aug 2020 12:38:10 GMT
{
    "rules": [{
        "id":"event-01",
        "graph_urn": "graph_urn",
        "events": ["ObjectCreated:*", "ObjectRemoved:*"],
        "prefix": "",
        "suffix": ""
    }]
}
```
#### 响应示例
```
HTTP/1.1 status_code 
Date: date 
Content-Length: length 
X-Request-ID: obs request id
```
