华为云服务事件发送流程

操作场景

华为云对象存储服务(Object Storage Service,简称OBS)作为云服务事件源将产生的云服务事件发送到事件网格,事件规则对云服务事件进行过滤和转换,通过转换后的事件触发事件目标(函数工作流服务中的函数)。

前提条件

  1. 已开通事件网格服务并授权。
  2. 已开通对象存储服务并授权。
  3. 已开通函数工作流服务并授权。

步骤一:创建事件目标(创建函数)

1 登录函数工作流控制台。

2 在左侧导航栏选择“函数 > 函数列表”,进入函数列表页面。

3 单击“创建函数”,进入“创建空白函数”页面。

4 设置函数参数。

  1. 函数类型:选择“事件函数”
  2. 区域:选择业务区域
  3. 函数名称:输入“test”
  4. 委托名称:选择“未使用任何委托”
  5. 运行时语言:选择“Python 2.7”

图1 创建函数

5 单击“创建函数”,完成函数的创建。

6 在函数详情页的“代码”页签中,输入如下代码,单击“部署”

# -*- 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"
}
}

步骤二:创建事件订阅

1 登录事件网格控制台。

2 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。

3 单击“创建事件订阅”,进入订阅详情页。

4 单击订阅名称旁的,弹出“修改订阅”弹窗。

5 在“订阅名称”中输入“OfficialEvent”,单击“确定”,回到订阅详情页。

6 单击“事件源”,配置事件源。

  1. 选择提供方:选择“华为云”
  2. 事件源:选择“对象存储服务”
  3. 过滤规则:保存默认

图2 设置事件源参数

7 单击“事件目标”,配置事件目标。

  1. 选择提供方:选择“华为云”
  2. 事件目标:选择“FunctionGraph(函数计算)”
  3. 函数:选择步骤一中创建的“test”函数
  4. 版本:选择“latest”
  5. 类型:选择“透传”

图3 设置事件目标参数

8 单击“保存”,完成事件订阅的配置。

步骤三:产生OBS事件(创建OBS桶)

1 登录OBS控制台。

2 单击“创建桶”,进入“创建桶”页面。

3 设置桶参数。

  1. 区域:与事件网格所在区域保持一致
  2. 桶名称:输入“eg-test”
  3. 默认存储类别:选择“标准存储”
  4. 桶策略:选择“私有”
  5. 默认加密:不勾选
  6. 归档数据直读:选择“关闭”
  7. 企业项目:选择“default”

图4 创建桶

4 单击“立刻创建”,根据提示信息完成桶的创建。

步骤四:查看结果

1 登录函数工作流控制台。

2 在左侧导航栏选择“函数 > 函数列表”,进入函数列表页面。

3 单击函数名称“test”,进入函数详情页。

4 在“监控”页签,查看调用次数、运行时间等。

图5 监控视图