本文介紹如何在事件匯流排EventBridge控制台完成自訂事件的查詢和分析操作。
背景資訊
自訂匯流排事件分析可查詢全部事件內容。需要事先建立Schema,並將事件與Schema的關係映射至事件分析,即可在事件分析平台根據綁定的Schema資訊對自訂事件進行數值檢索、可視化分析、事件軌跡、事件溯源等。當前自訂事件綁定Schema映射有兩種方式:
-
推送映射:通過PutEvents發布事件時定義dataschema參數綁定Schema URI資訊。
-
規則映射:在配置事件規則時通過Schema標識綁定相關的Schema URI資訊。

前提條件
-
建立阿里雲帳號並擷取存取金鑰。 請在阿里雲控制台中的AccessKey管理頁面上建立和查看您的帳號及密鑰。
使用限制
目前只支援建立和查詢OpenAPI 3.0格式的事件Schema。
步驟一:建立Schema自訂註冊表
- 登入事件匯流排EventBridge控制台,在左側導覽列,單擊Schema。
- 在頂部功能表列,選擇地區。
-
在Schema頁面,選擇自定义注册表頁簽,然後單擊创建 Schema。
-
在创建 Schema面板,設定以下參數,然後單擊确定。
參數
說明
樣本
Schema 标识
設定Schema的名稱。
test
Schema 描述
設定Schema的描述。
demo
Schema 内容
-
直接创建:系統自動建立符合OpenAPI 3.0規範的JSON文本。
-
基于Json创建:根據您提供的JSON Sample,產生Schema。
直接建立
兼容类型
用於檢查新版本與舊版本功能是否相容。預設不執行相容性檢查。
不執行相容性檢查
建立完成後,可在Schema頁面的自定义注册表頁簽中查看該Schema的URI地址、版本、格式及相容類型等。建立完成後,Schema 顯示在 自訂註冊表 列表中,您可以在 操作 列單擊 詳情、編輯 或 刪除 管理已建立的 Schema。
-
步驟二:選擇以下任一種方式映射Schema
規則映射
-
在事件总线頁面,單擊目標自訂事件匯流排,在左側導覽列,單擊事件规则,然後單擊创建规则。
-
在创建规则面板,配置以下資訊,然後單擊创建。
-
在配置基本信息頁簽,設定規則名称和描述,單擊下一步。
-
在配置事件模式頁簽,設定需要查詢的自訂事件來源,然後單擊下一步。
-
在配置事件目标頁簽,設定服务类型為EventBridge 事件分析,绑定映射方式為规则映射,然後選擇與步驟一:建立Schema自訂註冊表中相同的Group 名称、Schema 标识和Schema 版本。
-
推送映射
-
將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(); } } } -
在事件总线頁面,單擊目標自訂事件匯流排,在左側導覽列,單擊事件规则,然後單擊创建规则。
-
在创建规则面板,配置以下資訊,然後單擊创建。
-
在配置基本信息頁簽,設定規則名称和描述,單擊下一步。
-
在配置事件模式頁簽,設定需要查詢的自訂事件來源,然後單擊下一步。
-
在配置事件目标頁簽,設定服务类型為EventBridge 事件分析,設定绑定映射方式為推送映射。
-
步驟三:事件查詢
- 登入事件匯流排EventBridge控制台,在左側導覽列,選擇。
- 在頂部功能表列,選擇地區。
-
在事件分析頁面,按需配置以下參數,然後單擊查询。
參數名稱
是否必選
參數解釋
事件总线
是
選擇事件匯流排。
Schema
是
選擇要查詢的事件類型。關於阿里雲官方事件來源的事件類型,請參見阿里雲官方事件來源。
数值检索
否
選擇要查詢的欄位和條件運算式。支援多選。條件運算式包括以下四種:
-
=:如選擇此條件運算式,需再輸入欄位的值。表示檢索所有符合key = value條件的事件。 -
!=:如選擇此條件運算式,需再輸入欄位的值。表示檢索所有符合key != value條件的事件。 -
exists:表示檢索所有符合key exists條件的事件。 -
does-not-exist:表示檢索所有符合key does-not-exist條件的事件。
說明您也可以在該欄位的右上方選擇多個數值檢索項之間是AND或者OR的關係。
可视化分析
否
如果您需要通過圖表的方式查看結果,可以選擇設定可視化彙總函式。支援多選,一個可視化分析函數對應一個折線圖。
GROUP BY
否
如果您需要按照屬性對查詢到的事件進行分組,可以選擇事件屬性。支援多選。
ORDER BY
否
按照可视化分析的彙總函式的升序或者降序對查詢結果進行排序。支援多選。
查询时间
否
選取查詢的時間範圍。
查询条数
否
選擇單次最大查詢條數。
以上操作完成後,您可以在事件分析頁面下方的可视化分析和数据表頁簽查看分析結果。
-
步驟四:結果分析
查詢到的事件參數,請參見查詢結果。