Azure Event Grid でのカスタム トピック

Event Grid のトピックには、ソースがイベントを送信するエンドポイントが含まれます。 発行元は、イベント グリッド トピックを作成し、イベント ソースにトピックが 1 つ必要か、あるいは複数のイベント ソースが必要かを決定します。 トピックは、関連するイベントのコレクションに使用されます。 サブスクライバーは、特定の種類のイベントに応答するために、どのトピックをサブスクライブするかを決定します。

カスタム トピックは、アプリケーションとサード パーティのトピックです。 カスタムのトピックを作成した、またはカスタムのトピックへのアクセス権を割り当てられた場合は、サブスクリプション内にそのカスタム トピックが表示されます。

アプリケーションを設計するときに、作成するトピック数を柔軟に決定することができます。 大規模なソリューションの場合、関連するイベントのカテゴリごとカスタム トピックを作成します。 たとえば、ユーザー アカウントの変更と注文の処理に関連するイベントを送信するアプリケーションがあるものとします。 イベント ハンドラーで両方のイベント カテゴリが必要になることはまずありません。 このような場合は、2 つのカスタム トピックを作成し、イベント ハンドラーが自分と関係のあるトピックをサブスクライブできるようにします。 小規模なソリューションの場合、すべてのイベントを 1 つのトピックに送信することをお勧めします。 イベントのサブスクライバーは、必要なイベントの種類をフィルター処理できます。

イベント スキーマ

Azure Event Grid では、Event Grid イベント スキーマとクラウド イベント スキーマの 2 種類のイベント スキーマをサポートしています。

Event Grid イベント スキーマ

Event Grid イベント スキーマを使用する場合は、データ オブジェクトでアプリケーション固有のプロパティを指定できます。

[
  {
    "topic": string,
    "subject": string,
    "id": string,
    "eventType": string,
    "eventTime": string,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string,
    "metadataVersion": string
  }
]

Note

詳細については、Event Grid イベント スキーマに関するページを参照してください。

クラウド イベント スキーマ

Azure Event Grid は、既定のイベント スキーマに加え、CloudEvents v1.0 および HTTP プロトコル バインディングの JSON 実装のイベントをネイティブでサポートします。 CloudEvents は、イベント データを記述するためのオープンな仕様です。

CloudEvents を使用すると、クラウド ベースのイベントを発行したり使用したりするための共通のイベント スキーマを提供し、相互運用性を簡略化することができます。 このスキーマを使用すれば、ツールを統一化したり、イベントのルーティングや処理方法を標準化したり、外部のイベント スキーマを共通の方法で逆シリアル化することができます。 共通のスキーマを使用することで、プラットフォーム間での作業をより簡単に統合できます。

Note

詳細については、クラウド イベント スキーマに関するページを参照してください。

以下のセクションでは、Azure portal、CLI、PowerShell、および Azure Resource Manager (ARM) テンプレートを使用してカスタム トピックを作成するためのチュートリアルへのリンクを示します。

Azure portal のチュートリアル

タイトル 説明
クイック スタート: Azure portal を使ったカスタム イベントの作成とルーティング ポータルを使ってカスタム イベントを送信する方法を示します。
クイック スタート: Azure Queue Storage へのカスタム イベントのルーティング Queue Storage にカスタム イベントを送信する方法について説明します。
方法: カスタム トピックへの投稿 カスタム トピックにイベントを投稿する方法を示します。

Azure CLI のチュートリアル

タイトル 説明
クイック スタート: Azure CLI を使ったカスタム イベントの作成とルーティング Azure CLI を使ってカスタム イベントを送信する方法を示します。
Azure CLI: Event Grid のカスタム トピックの作成 カスタム トピックを作成するサンプル スクリプトです。 このスクリプトは、エンドポイントとキーを取得します。
Azure CLI: カスタム トピックのイベントのサブスクライブ カスタム トピックのサブスクリプションを作成するサンプル スクリプトです。 Webhook にイベントを送信します。

Azure PowerShell のチュートリアル

タイトル 説明
クイック スタート: Azure PowerShell を使ったカスタム イベントの作成とルーティング Azure PowerShell を使ってカスタム イベントを送信する方法を示します。
PowerShell: Event Grid のカスタム トピックの作成 カスタム トピックを作成するサンプル スクリプトです。 このスクリプトは、エンドポイントとキーを取得します。
PowerShell: カスタム トピックのイベントのサブスクライブ カスタム トピックのサブスクリプションを作成するサンプル スクリプトです。 Webhook にイベントを送信します。

ARM テンプレートのチュートリアル

タイトル 説明
Resource Manager テンプレート: カスタム トピックと Webhook エンドポイント カスタム トピックとそのカスタム トピックのサブスクリプションを作成する Resource Manager テンプレート。 Webhook にイベントを送信します。
Resource Manager テンプレート: カスタム トピックと Event Hubs エンドポイント カスタム トピックのサブスクリプションを作成する Resource Manager テンプレート。 Azure Event Hubs にイベントを送信します。

Note

Azure Digital Twins では、Event Grid で作成するカスタム トピックにイベント通知をルーティングできます。 詳細については、「Azure Digital Twins でのエンドポイントとルートの管理」をご覧ください。

次のステップ

次の記事をご覧ください。