すべてのプロダクト
Search
ドキュメントセンター

EventBridge:カスタムイベントバスにおけるイベントの分析

最終更新日:Mar 12, 2026

EventBridge にカスタムイベントを発行した場合、システム全体でそれらのイベントをクエリ、フィルター、トレースする必要が生じることがあります。イベント分析では、キーと値のペアによる取得、GUI を用いた分析、イベントトレース、およびイベントソーストレースを活用して、カスタムイベントバス内のすべてのイベントに対して構造化されたクエリを実行できます。

イベント分析を有効化するには、カスタムイベントにスキーマをバインドします。このスキーマは、イベントの構造を定義し、構造化クエリおよび可視化のためにイベントフィールドを分析プラットフォームにマップします。

仕組み

OpenAPI 3.0 仕様に準拠したイベントスキーマのみを作成およびクエリできます。このスキーマは、イベントペイロード内のフィールドを定義することで、分析プラットフォームがそれらをインデックス化およびクエリできるようにします。

カスタムイベントへのスキーマのバインドには、以下の 2 つの方法があります:

方法動作の仕組み使用タイミング
ルールマッピングEventBridge コンソールのイベントルールを通じて、スキーマ URI をバインドします。コンソールからコード不要で設定したい場合。
プッシュマッピングdataschema パラメーターを PutEvents API 呼び出しに設定し、イベント発行時にスキーマ URI をバインドします。イベントをプログラムによって発行し、コード内でスキーマのバインドを制御したい場合。
How event analysis works

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

カスタムスキーマの作成

  1. EventBridge コンソール にログインします。左側のナビゲーションウィンドウで、スキーマ をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. スキーマ ページで、カスタムスキーマグループ タブをクリックし、スキーマの作成 をクリックします。

  4. スキーマの作成 パネルで、以下のパラメーターを設定し、OK をクリックします。

    パラメーター説明
    スキーマ IDスキーマの名前。test
    スキーマの説明スキーマの説明。demo
    スキーマの内容直接作成:OpenAPI 3.0 仕様に準拠した JSON テキストを自動生成します。JSON に基づく作成:提供した JSON サンプルからスキーマを生成します。直接作成
    互換性タイプスキーマのバージョン間で互換性チェックを有効化するかどうか。デフォルト:互換性チェックなし。互換性チェックなし

スキーマが作成された後、カスタムスキーマグループ タブ(スキーマ ページ内)で、URI、バージョン、フォーマット、および互換性タイプを確認してください。

Schema details

スキーマのイベントへのマッピング

以下のいずれかの方法を使用して、カスタムイベントにスキーマをバインドします。

ルールマッピング

  1. イベントバス ページで、管理対象のカスタムイベントバスをクリックします。左側のナビゲーションウィンドウで、イベントルール をクリックし、ルールの作成 をクリックします。

  2. ルールの作成 パネルで、以下の手順を完了します:

    1. 基本情報の設定 ステップで、名前 および 説明 パラメーターを設定し、次のステップ をクリックします。

    2. イベントパターンの設定 ステップで、クエリ対象のカスタムイベントソースを指定し、次のステップ をクリックします。

    3. ターゲットの設定 ステップで、サービスタイプイベント分析 に、マッピング方法ルールマッピング に設定します。また、先の手順で作成したスキーマと同じ グループ名スキーマ ID、および スキーマバージョン を選択します。

  3. 作成 をクリックします。

プッシュマッピング

  1. SDK コードに、先の手順で取得した dataschema パラメーターおよびスキーマ URI を追加し、イベントをプッシュします。以下の Java の例では、一連の処理の流れを示しています。

       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();
               // 環境変数から AccessKey ID を取得します。
               authConfig.accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
               // 環境変数から AccessKey Secret を取得します。
               authConfig.accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
               // エンドポイントを指定します。リージョンおよびエンドポイントの詳細については、リージョンとエンドポイントをご参照ください。
               authConfig.endpoint = "<your-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();
               // 「カスタムスキーマの作成」手順で取得したスキーマ URI を設定します。
               cloudEvent.setDataschema("<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();
               }
           }
       }

    以下のプレースホルダーを実際の値に置き換えてください。

    プレースホルダー説明
    <your-endpoint>ご利用のリージョン向けの EventBridge エンドポイント-
    <schema-uri>先の手順で取得したスキーマ URI-
  2. イベントバス ページで、管理対象のカスタムイベントバスをクリックします。左側のナビゲーションウィンドウで、イベントルール をクリックし、ルールの作成 をクリックします。

  3. ルールの作成 パネルで、以下の手順を完了します:

    1. 基本情報の設定 ステップで、名前 および 説明 パラメーターを設定し、次のステップ をクリックします。

    2. イベントパターンの設定 ステップで、クエリ対象のカスタムイベントソースを指定し、次のステップ をクリックします。

    3. ターゲットの設定 ステップで、サービスタイプイベント分析 に、マッピング方法プッシュマッピング に設定します。

  4. 作成 をクリックします。

イベントのクエリ

  1. EventBridge コンソール にログインします。左側のナビゲーションウィンドウで、イベントセンターイベント分析 を選択します。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. イベント分析 ページで、クエリパラメーターを設定し、クエリ をクリックします。

Event Analysis page

必須パラメーター

パラメーター説明
イベントバスクエリ対象のイベントバス名。
スキーマクエリ対象のイベントタイプのスキーマ。 Alibaba Cloud サービスのイベントタイプの詳細については、「Alibaba Cloud 公式イベントソース」をご参照ください。

オプションパラメーター

パラメーター説明
キーと値の一致キーと値のペアでイベントをフィルターします。以下の演算子を 1 つ以上使用して条件を指定します。キーと値の一致 パラメーターの右側にある AND または OR を選択して、複数のキーと値のペア間の関係を指定します。
集計関数データビジュアライゼーション(大画面表示)用の集計関数。各関数は折れ線グラフに対応します。チャート形式の結果を取得する場合は必須です。
グループ化基準イベントをグループ化するフィールド。1 つ以上のイベントプロパティフィールドを入力します。
並び順集計関数の結果に基づいて、昇順または降順でイベントを並べ替えるフィールド。1 つ以上のフィールドを入力できます。
時間範囲クエリの時間範囲。
イベント数返されるイベントの最大数。

キーと値の一致演算子

演算子動作
=キーが値と等しいイベントに一致します。
!=キーが値と等しくないイベントに一致します。
existsキーが存在するイベント(値は問わない)に一致します。
does-not-existキーが存在しないイベントに一致します。

結果の分析

イベント分析 ページの 集計関数 タブおよび テーブル タブで、クエリ結果を表示します。

結果内のイベントパラメーターの詳細については、「システムイベントバスにおけるイベントの分析」をご参照ください。