有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

场景简介

除了官方云服务产生的云产品事件与操作审计事件外,您自己的应用程序产生的事件只能发布到自定义事件集。您可以在 创建自定义事件集 后通过 配置事件连接器 对自定义事件进行投递。您也可以使用 API/SDK 投递您的自定义事件。本文为您展示如何使用事件连接器进行自定义事件投递。
说明:
除了使用事件连接器外,您也可以通过调用 API 对自定义事件进行投递。具体请参见 API 文档

自定义事件投递步骤

步骤1. 创建自定义事件集

1. 登录 事件总线控制台,单击新建事件集


2. 填写事件集名称与事件集描述:



3. 单击确定后完成创建。

步骤2. 创建事件连接器

1. 在事件集页单击自定义事件集名称,进入事件集详情页。


2. 进入事件集详情页,单击事件连接器栏中的添加


3. 以 Ckafka 事件连接器为例。连接器类型选择消息队列 (Ckafka)连接器,其余配置项按照提示填写,单击确定完成创建。其他类型的连接器配置方法,请参见 事件连接器



4. 单击确定。配置完成后,事件连接器将可以从 CKafka 拉取消息,并用消息内容生成一个事件投递到事件集中。以一条内容为 “Hello from Ckafka again!” 的消息为例,连接器将会生成以下事件:
{
"specversion":"1.0",
"id":"13a3f42d-7258-4ada-da6d-******3b4662",
"type":"connector:kafka",
"source":"ckafka.cloud.tencent",
"subject": "qcs::ckafka:ap-guangzhou:uin/1250000000:ckafkaId/uin/1250000000/ckafka-123456",
"time":"1615430559146",
"region":"ap-guangzhou",
"datacontenttype":"application/json;charset=utf-8",
"data":{
"topic":"test-topic",
"Partition":1,
"offset":37,
"msgKey":"test",
"msgBody":"Hello from Ckafka again!"
}
}
有关事件格式的详细解释,请参见 事件结构
注意:
目前只支持云上 Ckafka 实例投递,请确认您的 Ckafka 实例没有配置用户名密码等信息,否则连接器可能无法成功获取消息。

步骤3. 创建事件规则

1. 选择左侧导航栏中的事件规则
2. 在“事件规则”顶部选框,选择新建
3. 根据页面提示填写相关信息:


事件模式的含义是接收所有来自 Ckafka 连接器的消息。事件模式的具体编写方法,请参见 事件模式
4. 单击下一步后配置事件目标,可选的事件目标包括 SCF 云函数日志服务 CLS消息推送Ckafka。此处以云函数为例,事件内容将以参数的形式传递给云函数:

此处 test 函数的功能是打印接收到的事件,您可以根据实际业务场景编写您的函数。另外,您也可以通过平台提供的模板函数快速将事件投递到 Ckafka 或下游的 SaaS 服务。具体可参见 SCF 目标投递

步骤4. 测试事件

发送一条消息至 target-topic 后,可在对应云函数日志页看到如下信息:
START RequestId:79e6d53e-7a98-11ec-8f0d-******4284e2
Received event: {
"data": {
"Partition": 1,
"msgBody": "Hello from Ckafka again!",
"msgKey": "test",
"offset": 37,
"topic": "target-topic"
},
"datacontenttype": "application/json;charset=utf-8",
"id": "13a3f42d-7258-4ada-da6d-******3b4662",
"region": "ap-guangzhou",
"source": "ckafka.cloud.tencent",
"specversion": "0",
"status": "",
"subject": "qcs::ckafka:ap-guangzhou:uin/1250000000:ckafkaId/uin/1250000000/ckafka-123456",
"tags": null,
"time": 1615430559146,
"type": "connector:kafka"
}

步骤5. 追踪历史投递事件

事件总线为用户提供了事件追踪能力。在事件集页单击事件集名称,进入事件集详情页,开启 事件追踪 后,在事件集的事件查询页可以查看事件投递记录。




事件追踪方式若选择“默认投递”,将仅能查询匹配成功但投递到下游失败的事件。若需查询全部事件,请在“事件集-事件追踪”中将投递类型设置为全部日志,并勾选“同时上报规则匹配失败日志”。如下图所示: