操作场景
除了基础事件筛选之外,EventBridge 还提供简单的数据处理功能,通过传入数据和配置项,可以实现对数据格式化处理,然后返回处理完成的结构化数据,分发下游目标,构建数据源和数据处理系统间的桥梁。
说明:
数据处理后得到的结构化数据会用于替换 data 字段内容。
操作步骤
下文将以云服务事件集配置事件数据转换为例,介绍详细的操作步骤。
创建规则
1. 登录 事件总线控制台,选择云服务事件集。
2. 在事件集详情页,单击管理事件规则,进行新增规则配置。如下图所示:

3. 进入事件规则页面,单击新建。如下图所示:

4. 根据页面提示填写相关信息,勾选数据转换,如下图所示。

事件示例:单击事件示例,可展开一个事件结构实例,为配置事件匹配规则做参考。
事件匹配:用于事件的过滤筛选,通过配置事件模式,筛选需要转换的事件数据。您可以定义事件来源(source)、事件类型(type)等字段的匹配规则,仅匹配的事件数据会进入后续的数据转换流程。
5. 单击下一步,设置数据转换规则。如下图所示:

事件模式:支持示例事件(模板数据)或者手动输入(自定义)。
转换目标:可以配置完整事件或通过变量获取部分事件。
解析格式:支持 JSON、分隔符、正则提取三种解析方式。
6. 选择解析模式后,单击确认,开始解析数据。
7. 解析完成后,设置事件匹配规则、过滤器规则和数据处理方式

过滤器:仅输出符合过滤器规则的数据。过滤器的匹配模式支持前缀匹配、后缀匹配、包含匹配(contains)、除外匹配(except)。
数据处理:TYPE 有默认、系统预设、映射、JSONPATH、自定义、模板六种。
TYPE = 默认:VALUE 从解析结果中映射,不可编辑。
TYPE = 系统预设:可以选择系统预设的 VALUE ,目前支持 DATE(时间戳)。
TYPE = 映射:可以选择已有的 KEY,最终输出的 VALUE 值由指定的 KEY 映射而来。
TYPE = JSONPATH:可以手动编辑 VALUE。可参考 JSONPATH 示例。
TYPE = 自定义:可以输入自定义 VALUE。
TYPE = 模板:支持 Go 语言模板,内置 JSONPATH 函数,可以自定义 VALUE。可参考 模板示例。
8. 单击测试,查看测试结果。

9. 单击下一步,完成事件目标配置。事件目标定义了数据转换后的输出目标,支持将转换后的结构化数据投递到指定的云服务或自定义端点。事件总线当前支持以下事件目标,详细内容请参见:
云函数(SCF)
消息推送(仅支持云服务事件集中的规则)
编辑规则
您可以在规则详情页面进行规则的编辑、删除和添加操作。
在规则详情页面,单击数据转换模块右上角的编辑/删除,可修改/删除数据转换规则。

如需在已有事件规则中添加数据转换功能,可在规则详情页中,单击数据转换右侧的添加,然后根据页面提示进行配置。

过滤器规则说明
过滤器可以对数据进行规则过滤,例如过滤字段的大小等,符合规则的数据才会被保留。
注意事项
过滤器匹配是逐个字符精确匹配的 ,需注意大小写,匹配过程中不会对字符串进行任何标准化的操作。
要匹配的值遵循 JSON 规则:用引号引起来的字符串、数字以及不带引号的关键字 true、false 和 null。
前缀匹配
您可以对比数据中的前缀进行键值匹配。
例如数据
{"id":"topicname"},指定 id 的前缀匹配值为 top,则 {"id":"topicname"} 可以被正常匹配。后缀匹配
您可以对比数据中的后缀进行键值匹配。
例如数据
{"id":"topicname"},指定 id 的后缀匹配值为 name,则 {"id":"topicname"} 可以被正常匹配。包含匹配
您可以指定数据中存在的某个字段进行匹配。
例如数据
{"id":"topicname"},指定 id 的包含匹配值为 na,则 {"id":"topicname"} 可以被正常匹配。除外匹配
您可以指定某个字段除了提供的值之外的任何值进行匹配。
例如数据
{"id":"topicname"},指定 id 的除外匹配值为 topicname,则只有 {"id":"topicname"} 不可以被正常匹配。数据处理配置示例
JSONPATH
基础语法
$ 根结点操作符,表示当前 JSON 结构体的根结点。.<childName> 点操作符,表示选取当前作用对象名为 childName 的子成员。[<index>]片选操作符,表示获取当前可迭代对象的第 index 个子成员。示例
获取
occurTime:$.data.occurTime获取
key 为 changeImpact 的对应 value:$.data.additionalMsg[1].value模板
参考示例如下:
{{if eq (jsonpath . "$.source") "cvm.cloud.tencent" -}}云服务器事件:事件类型: {{jsonpath . "$.type"}}地域: {{jsonpath . "$.region"}}内容: {{jsonpath . "$.data.additionalMsg[0].value"}}, {{jsonpath . "$.data.additionalMsg[1].value"}}{{- end}}
解析后得到:"云服务器事件: \\n事件类型: cvm:ErrorEvent:changeNotification\\n地域: ap-guangzhou\\n内容: 为了给您提供优质稳定的存储服务,腾讯云计划对宿主机执行底层存储组件升级, CVM,ES,TCHouse 云盘出现1次1-4秒内 IO 抖动"。
事件内容示例
{"specversion": "1.0","id": "54ae3f54-c8fd-46f5-99f3-1f6d958a01a9","source": "cvm.cloud.tencent","type": "cvm:ErrorEvent:changeNotification","datacontenttype": "application/json;charset=utf-8","time": 1753778526000,"region": "ap-guangzhou","status": "-","data": {"occurTime": 1753778526000,"additionalMsg": [{"key": "changeDetail","value": "为了给您提供优质稳定的存储服务,腾讯云计划对宿主机执行底层存储组件升级"},{"key": "changeImpact","value": "CVM,ES,TCHouse 云盘出现1次1-4秒内IO抖动"}],"dimensions": [{"key": "zone","value": "ap-guangzhou-1"}]}}