
# 使用对象存储服务（OBS）触发器
本节介绍如何通过函数工作流控制台创建OBS触发器，实现当OBS存储桶有文件更新时触发函数运行。
关于OBS触发器事件源的具体介绍，请参见[支持的事件源](https://support.huaweicloud.com/devg-functiongraph/functiongraph_02_0102.html)。
#### OBS触发器支持的事件类型
多个事件类型可以作用于同一个目标对象，即支持多选事件类型。
请参考[表1]选择需要使用的事件类型。
 表1OBS支持的事件类型 
| 事件                      | 说明                                                                                                                                                             |
|:---|:---|
| ObjectCreated           | 表示所有创建对象的操作，包含Put、Post、Copy以及CompleteMultipartUpload。 **约束与限制：**如果选择了该事件，则不能再选择Put、Post、Copy或CompleteMultipartUpload。 |
| Put                     | 使用Put方法上传对象。                                                                                                                                                   |
| Post                    | 使用Post方法上传对象。                                                                                                                                                  |
| Copy                    | 使用copy方法复制对象。                                                                                                                                                  |
| CompleteMultipartUpload | 表示合并分段任务。                                                                                                                                                      |
| ObjectRemoved           | 表示所有删除对象的操作，包含Delete和DeleteMarkerCreated。 **约束与限制：**如果选择了该事件，则不能再选择Delete或DeleteMarkerCreated。                         |
| Delete                  | 指定对象版本号删除对象。                                                                                                                                                   |
| DeleteMarkerCreated     | 不指定对象版本号删除对象。                                                                                                                                                  |
   
#### 操作视频
本视频介绍如何在函数中使用OBS触发器，实现当OBS存储桶有文件更新时触发函数运行。
因产品功能演进，操作界面可能存在差异，相关视频仅供参考，具体以实际环境为准。
<video controls="controls" preload="none" id="object1601154925018" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/functiongraph-video/1751251371956466067.mp4" title="使用OBS触发器" poster="https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002383361161.jpg" style="width:100%;height:auto;max-width:600px"></video>
#### 约束与限制
- OBS触发器支持使用的区域和具体运行时函数请以控制台展示为准。
- OBS触发器创建以后，不能停用，只能删除。
- 请确保创建的函数与OBS桶在同一区域下，不同区域创建的桶不通用。
 
#### 前提条件
- **权限：**
  使用OBS作为事件订阅的事件源时，需要用户具备Tenant Administrator权限。相关操作请参考[给用户授权](https://support.huaweicloud.com/usermanual-iam/iam_01_0652.html)。
  
- **函数及其配置：**
  - 已创建函数。
  
  - 已配置函数的OBS委托权限，委托的创建请参见[配置函数的委托权限](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0920.html)。
   
- **OBS桶：**
  已创建OBS桶，创建过程请参见[创建存储桶](https://support.huaweicloud.com/usermanual-obs/zh-cn_topic_0045829088.html)。
  
 
#### 创建OBS触发器
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/?locale=zh-cn)，在左侧的导航栏选择"函数 \> 函数列表"。
2. 选择待配置的函数，单击进入函数详情页。
3. 选择"设置 \> 触发器"，单击"创建触发器"，弹出"创建触发器"对话框。 
   图1创建触发器   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002082254022.png "点击放大")
   
   
4. 配置以下参数。 
   表2OBS触发器参数说明 
   | 参数名称   | 参数说明                                                                                                                  | 取值样例                                                                                         |
   |:---|:---|:---|
   | 触发器类型  | 必选参数。 选择"对象存储服务（OBS）"。                                                      | 对象存储服务（OBS）                                                                                  |
   | 桶      | 必选参数。 用作事件源的OBS存储桶，创建成功后不支持修改。                                                  | obs-cff                                                                                      |
   | 事件     | 必选参数。 选择触发函数的事件。支持选择的事件类型请参考[表1]。 | "Put"、"Post"和"Delete" （当对OBS桶中的文件进行更新、上传和删除操作时触发函数运行） |
   | 事件通知名称 | 可选参数。 自定义的事件通知名称。用于在事件发生时，SMN服务给您推送消息。                                       | obs-event-test                                                                               |
   | 前缀     | 可选参数。 用来限制以此关键字开头的对象的事件通知，该限制可以实现对OBS对象名的过滤。                                  | -                                                                                            |
   | 后缀     | 可选参数。 用来限制以此关键字结尾的对象的事件通知，该限制可以实现对OBS对象名的过滤。                                  | -                                                                                            |
      
   
   
 
#### 触发函数
登录对象存储服务控制台，将文件上传至"obs-cff"OBS存储桶，具体步骤请参见[上传文件](https://support.huaweicloud.com/usermanual-obs/obs_03_1002.html)。
成功上传文件至"obs-cff"OBS存储桶后，会自动触发函数运行，可在函数执行日志查看执行结果。
OBS触发函数的请求体参数请参考[OBS示例事件](https://support.huaweicloud.com/devg-functiongraph/functiongraph_02_0102.html#section1)。
#### 查看函数运行结果
1. 返回函数工作流控制台，在左侧的导航栏选择"函数 \> 函数列表"。
2. 选择函数，单击进入函数详情页。
3. 选择"监控 \> 日志"，查询函数运行日志。
 
#### 相关文档
除使用控制台外，函数工作流支持通过API的方式使用函数触发器，详情请参见[函数触发器API参考](https://support.huaweicloud.com/api-functiongraph/FunctionTriggers.html)。
