全部產品
Search
文件中心

EventBridge:自訂匯流排事件分析

更新時間:Dec 27, 2024

本文介紹如何在事件匯流排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按照可视化分析的彙總函式的升序或者降序對查詢結果進行排序。支援多選。
    查询时间選取查詢的時間範圍。
    查询条数選擇單次最大查詢條數。
    以上操作完成後,您可以在事件分析頁面下方的可视化分析数据表頁簽查看分析結果。

步驟四:結果分析

查詢到的事件參數,請參見查詢結果