自定义总线事件分析

本文介绍如何在事件总线EventBridge控制台完成自定义事件的查询和分析操作。

背景信息

自定义总线事件分析可查询全部事件内容。需要事先建立Schema,并将事件与Schema的关系映射至事件分析,即可在事件分析平台根据绑定的Schema信息对自定义事件进行数值检索、可视化分析、事件轨迹、事件溯源等。当前自定义事件绑定Schema映射有两种方式:

  • 推送映射:通过PutEvents发布事件时定义dataschema参数绑定Schema URI信息。

  • 规则映射:在配置事件规则时通过Schema标识绑定相关的Schema URI信息。

背景信息

前提条件

使用限制

目前只支持创建和查询OpenAPI 3.0格式的事件Schema。

步骤一:新建Schema自定义注册表

  1. 登录事件总线EventBridge控制台,在左侧导航栏,单击Schema
  2. 在顶部菜单栏,选择地域。
  3. Schema页面,选择自定义注册表页签,然后单击创建Schema

  4. 创建Schema面板,设置以下参数,然后单击确定

    参数

    说明

    示例

    Schema标识

    设置Schema的名称。

    test

    Schema描述

    设置Schema的描述。

    demo

    Schema内容

    • 直接创建:系统自动创建符合OpenAPI 3.0规范的JSON文本。

    • 基于Json创建:根据您提供的JSON Sample,生成Schema。

    直接创建

    兼容类型

    用于检查新版本与旧版本功能是否兼容。默认不执行兼容性检查。

    不执行兼容性检查

    创建完成后,可在Schema页面的自定义注册表页签中查看该Schema的URI地址、版本、格式及兼容类型等。Schema

步骤二:选择以下任一种方式映射Schema

规则映射

  1. 事件总线页面,单击目标自定义事件总线,在左侧导航栏,单击事件规则,然后单击创建规则

  2. 创建规则面板,配置以下信息,然后单击创建

    1. 配置基本信息页签,设置规则名称描述,单击下一步

    2. 配置事件模式页签,设置需要查询的自定义事件源,然后单击下一步

    3. 配置事件目标页签,设置服务类型EventBridge 事件分析绑定映射方式规则映射,然后选择与步骤一:新建Schema自定义注册表中相同的Group 名称Schema 标识Schema 版本

推送映射

  1. dataschema参数和步骤一:新建Schema自定义注册表中获取的URI地址添加至SDK中,并推送事件。示例代码如下:

    import com.aliyun.eventbridge.EventBridge;
    import com.aliyun.eventbridge.EventBridgeClient;
    import com.aliyun.eventbridge.models.CloudEvent;
    import com.aliyun.eventbridge.models.Config;
    import com.aliyun.eventbridge.models.PutEventsResponse;
    import com.aliyun.eventbridge.util.EventBuilder;
    import com.google.gson.Gson;
    
    import java.net.URI;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    public class PutEventsSample {
    
        private EventBridge eventBridgeClient;
    
        public PutEventsSample() {
            Config authConfig = new Config();
            authConfig.accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");// AccessKey ID用于阿里云身份验证,请参照前提条件在阿里云控制台的AccessKey管理页面获取。
            authConfig.accessKeySecret =System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");// AccessKey Secret用于阿里云身份验证,请参照前提条件在阿里云控制台的AccessKey管理页面获取。
            authConfig.endpoint = "{endpoint}";// 接入点信息。具体信息,请参见地域和接入点。
            eventBridgeClient  = new EventBridgeClient(authConfig);
        }
        public void putEventsSample() {
            List<CloudEvent> cloudEventList = new ArrayList<>();
            CloudEvent cloudEvent = EventBuilder.builder()
                .withId("a5074581-7e74-4e4c-868f-47e7afdf****")
                .withSource(URI.create("acs.oss"))
                .withType("oss:ObjectCreated:PostObject")
                .withSubject("acs:oss:cn-hangzhou:{yourAccountId}:xls-papk/game_apk/123.jpg")
                .withTime(new Date())
                .withJsonStringData("{ \"E-Mail\": \"${email}\" }")
                .withAliyunEventBus("demo-bus")
                .build();
            cloudEvent.setDataschema("{Schema URI}");//配置在步骤一中获取的Schema URI地址。
            cloudEventList.add(cloudEvent);
            PutEventsResponse putEventsResponse = eventBridgeClient.putEvents(cloudEventList);
            System.out.println(new Gson().toJson(putEventsResponse));
        }
    
        public static void main(String[] args){
            PutEventsSample sample = new PutEventsSample();
            try {
                sample.putEventsSample();
            } catch (Throwable e) {
                e.printStackTrace();
            }
        }
    }
  2. 事件总线页面,单击目标自定义事件总线,在左侧导航栏,单击事件规则,然后单击创建规则

  3. 创建规则面板,配置以下信息,然后单击创建

    1. 配置基本信息页签,设置规则名称描述,单击下一步

    2. 配置事件模式页签,设置需要查询的自定义事件源,然后单击下一步

    3. 配置事件目标页签,设置服务类型EventBridge 事件分析,设置绑定映射方式推送映射

步骤三:事件查询

  1. 登录事件总线EventBridge控制台,在左侧导航栏,选择事件中心 > 事件分析
  2. 在顶部菜单栏,选择地域。
  3. 事件分析页面,按需配置以下参数,然后单击查询
    事件分析
    参数名称是否必选参数解释
    事件总线选择事件总线。
    Schema选择要查询的事件类型。关于阿里云官方事件源的事件类型,请参见阿里云官方事件源
    数值检索选择要查询的字段和条件表达式。支持多选。条件表达式包括以下四种:
    • =:如选择此条件表达式,需再输入字段的值。表示检索所有符合key = value条件的事件。
    • !=:如选择此条件表达式,需再输入字段的值。表示检索所有符合key != value条件的事件。
    • exists:表示检索所有符合key exists条件的事件。
    • does-not-exist:表示检索所有符合key does-not-exist条件的事件。
    说明 您也可以在该字段的右上角选择多个数值检索项之间是AND或者OR的关系。
    可视化分析如果您需要通过图表的方式查看结果,可以选择设置可视化聚合函数。支持多选,一个可视化分析函数对应一个折线图。
    GROUP BY如果您需要按照属性对查询到的事件进行分组,可以选择事件属性。支持多选。
    ORDER BY按照可视化分析的聚合函数的升序或者降序对查询结果进行排序。支持多选。
    查询时间选择查询的时间范围。
    查询条数选择单次最大查询条数。
    以上操作完成后,您可以在事件分析页面下方的可视化分析数据表页签查看分析结果。

步骤四:结果分析

查询到的事件参数,请参见查询结果