自定義總線事件分析
本文介紹如何在事件總線EventBridge控制臺完成自定義事件的查詢和分析操作。
背景信息
自定義總線事件分析可查詢?nèi)渴录?nèi)容。需要事先建立Schema,并將事件與Schema的關(guān)系映射至事件分析,即可在事件分析平臺根據(jù)綁定的Schema信息對自定義事件進行數(shù)值檢索、可視化分析、事件軌跡、事件溯源等。當(dāng)前自定義事件綁定Schema映射有兩種方式:
推送映射:通過PutEvents發(fā)布事件時定義dataschema參數(shù)綁定Schema URI信息。
規(guī)則映射:在配置事件規(guī)則時通過Schema標(biāo)識綁定相關(guān)的Schema URI信息。
前提條件
創(chuàng)建阿里云賬號并獲取訪問密鑰。 請在阿里云控制臺中的AccessKey管理頁面上創(chuàng)建和查看您的賬號及密鑰。
使用限制
目前只支持創(chuàng)建和查詢OpenAPI 3.0格式的事件Schema。
步驟一:新建Schema自定義注冊表
- 登錄事件總線EventBridge控制臺,在左側(cè)導(dǎo)航欄,單擊Schema。
- 在頂部菜單欄,選擇地域。
在Schema頁面,選擇自定義注冊表頁簽,然后單擊創(chuàng)建Schema。
在創(chuàng)建Schema面板,設(shè)置以下參數(shù),然后單擊確定。
參數(shù)
說明
示例
Schema標(biāo)識
設(shè)置Schema的名稱。
test
Schema描述
設(shè)置Schema的描述。
demo
Schema內(nèi)容
直接創(chuàng)建:系統(tǒng)自動創(chuàng)建符合OpenAPI 3.0規(guī)范的JSON文本。
基于Json創(chuàng)建:根據(jù)您提供的JSON Sample,生成Schema。
直接創(chuàng)建
兼容類型
用于檢查新版本與舊版本功能是否兼容。默認(rèn)不執(zhí)行兼容性檢查。
不執(zhí)行兼容性檢查
創(chuàng)建完成后,可在Schema頁面的自定義注冊表頁簽中查看該Schema的URI地址、版本、格式及兼容類型等。
步驟二:選擇以下任一種方式映射Schema
規(guī)則映射
在事件總線頁面,單擊目標(biāo)自定義事件總線,在左側(cè)導(dǎo)航欄,單擊事件規(guī)則,然后單擊創(chuàng)建規(guī)則。
在創(chuàng)建規(guī)則面板,配置以下信息,然后單擊創(chuàng)建。
在配置基本信息頁簽,設(shè)置規(guī)則名稱和描述,單擊下一步。
在配置事件模式頁簽,設(shè)置需要查詢的自定義事件源,然后單擊下一步。
在配置事件目標(biāo)頁簽,設(shè)置服務(wù)類型為EventBridge 事件分析,綁定映射方式為規(guī)則映射,然后選擇與步驟一:新建Schema自定義注冊表中相同的Group 名稱、Schema 標(biāo)識和Schema 版本。
推送映射
將dataschema參數(shù)和步驟一:新建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(); } } }
在事件總線頁面,單擊目標(biāo)自定義事件總線,在左側(cè)導(dǎo)航欄,單擊事件規(guī)則,然后單擊創(chuàng)建規(guī)則。
在創(chuàng)建規(guī)則面板,配置以下信息,然后單擊創(chuàng)建。
在配置基本信息頁簽,設(shè)置規(guī)則名稱和描述,單擊下一步。
在配置事件模式頁簽,設(shè)置需要查詢的自定義事件源,然后單擊下一步。
在配置事件目標(biāo)頁簽,設(shè)置服務(wù)類型為EventBridge 事件分析,設(shè)置綁定映射方式為推送映射。
步驟三:事件查詢
- 登錄事件總線EventBridge控制臺,在左側(cè)導(dǎo)航欄,選擇 。
- 在頂部菜單欄,選擇地域。
- 在事件分析頁面,按需配置以下參數(shù),然后單擊查詢。
參數(shù)名稱 是否必選 參數(shù)解釋 事件總線 是 選擇事件總線。 Schema 是 選擇要查詢的事件類型。關(guān)于阿里云官方事件源的事件類型,請參見阿里云官方事件源。 數(shù)值檢索 否 選擇要查詢的字段和條件表達式。支持多選。條件表達式包括以下四種: =
:如選擇此條件表達式,需再輸入字段的值。表示檢索所有符合key = value條件的事件。!=
:如選擇此條件表達式,需再輸入字段的值。表示檢索所有符合key != value條件的事件。exists
:表示檢索所有符合key exists
條件的事件。does-not-exist
:表示檢索所有符合key does-not-exist
條件的事件。
說明 您也可以在該字段的右上角選擇多個數(shù)值檢索項之間是AND或者OR的關(guān)系。可視化分析 否 如果您需要通過圖表的方式查看結(jié)果,可以選擇設(shè)置可視化聚合函數(shù)。支持多選,一個可視化分析函數(shù)對應(yīng)一個折線圖。 GROUP BY 否 如果您需要按照屬性對查詢到的事件進行分組,可以選擇事件屬性。支持多選。 ORDER BY 否 按照可視化分析的聚合函數(shù)的升序或者降序?qū)Σ樵兘Y(jié)果進行排序。支持多選。 查詢時間 否 選擇查詢的時間范圍。 查詢條數(shù) 否 選擇單次最大查詢條數(shù)。 以上操作完成后,您可以在事件分析頁面下方的可視化分析和數(shù)據(jù)表頁簽查看分析結(jié)果。
步驟四:結(jié)果分析
查詢到的事件參數(shù),請參見查詢結(jié)果。