场景简介
除了官方云服务产生的云产品事件与操作审计事件外,您自己的应用程序产生的事件只能发布到自定义事件集。您可以在 创建自定义事件集 后通过 配置事件连接器 对自定义事件进行投递。您也可以使用 API/SDK 投递您的自定义事件。本文为您展示如何使用事件连接器进行自定义事件投递。
说明:
自定义事件投递步骤
步骤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. 根据页面提示填写相关信息:
4. 单击下一步后配置事件目标,可选的事件目标包括 SCF 云函数、日志服务 CLS、消息推送 、 Ckafka 及 ElasticSearch。此处以云函数为例,事件内容将以参数的形式传递给云函数:
此处 test 函数的功能是打印接收到的事件,您可以根据实际业务场景编写您的函数。另外,您也可以通过平台提供的模板函数快速将事件投递到 Ckafka 或下游的 SaaS 服务。具体可参见 SCF 目标投递。
步骤4. 测试事件
发送一条消息至 target-topic 后,可在对应云函数日志页看到如下信息:
START RequestId:79e6d53e-7a98-11ec-8f0d-******4284e2Received 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. 追踪历史投递事件
事件追踪方式若选择“默认投递”,将仅能查询匹配成功但投递到下游失败的事件。若需查询全部事件,请在“事件集-事件追踪”中将投递类型设置为全部日志,并勾选“同时上报规则匹配失败日志”。如下图所示: