更新时间:2023-04-28 GMT+08:00
自定义事件发送流程
本章节介绍自定义事件发送的整个流程。
将自定义事件源产生的自定义事件发送到事件网格,事件规则对自定义事件进行过滤和转换,通过转换后的事件触发事件目标(即函数工作流服务中的函数)。
前提条件
- 已开通事件网格服务并授权。
- 已获取函数工作流的权限。
步骤三:创建云服务事件目标(创建函数)
- 登录函数工作流控制台。
- 在左侧导航栏选择“函数 > 函数列表”,进入函数列表页面。
- 单击“创建函数”,进入“创建空白函数”页面。
- 参考图3,设置函数参数。关于函数参数的详细介绍,请参考创建函数。
- 函数类型:选择“事件函数”
- 区域:选择业务区域
- 函数名称:输入“test”
- 委托名称:选择“未使用任何委托”
- 运行时语言:选择“Python 2.7”
- 单击“创建函数”,完成函数的创建。
- 在函数详情页的“代码”页签中,输入如下代码,单击“部署”。
# -*- coding:utf-8 -*- import json def handler (event, context): print(json.dumps(event)) return { "statusCode": 200, "isBase64Encoded": False, "body": json.dumps(event), "headers": { "Content-Type": "application/json" } }
步骤四:创建事件订阅
事件订阅将事件源、通道和事件目标绑定在一起,通过事件规则将事件源发出的事件路由到事件目标。
- 登录事件网格控制台。
- 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。
- 单击“创建事件订阅”,进入订阅详情页。
- 单击订阅名称旁的,弹出“修改订阅”弹窗。
- 在“订阅名称”中输入“CustomEvent”,单击“确定”,回到订阅详情页。
- 配置事件源。
- 配置事件目标。
- 单击“保存”,完成事件订阅的配置。
步骤五:发送自定义事件
- 配置自定义事件,具体请参考CloudEvents SDK。
修改发布事件示例代码中如下参数:
- NAME:IAM用户名。
- PASSWORD:IAM 用户密码。
- DOMAIN_NAME:IAM domain用户名。
- IAM_ENDPOINT:IAM的终端节点,您可以从地区和终端节点中查询服务的终端节点。
- PROJECT_ID:即项目ID,参考API凭证,获取项目ID。
- CHANNEL_ID:修改为步骤一中记录的通道ID。
- ENDPOINT:事件网格访问端点,如“华北-北京四”区域,公网访问端点值为“events.cn-north-4.myhuaweicloud.com”。
- SOURCE:即事件源名称,修改为步骤四中配置事件源时记录的“Filter”中“values”值。
- TIME:修改事件产生的时间。
- DATA:根据实际情况修改,事件内容遵循CloudEvents 1.0规范。
- 运行发布事件的main函数。
步骤六:查看结果
- 登录函数工作流控制台。
- 在左侧导航栏选择“函数 > 函数列表”,进入函数列表页面。
- 单击函数名称“test”,进入函数详情页。
- 在“监控”页签,查看调用次数、运行时间等。
图6 监控视图