HTTP によるプッシュ配信

この記事は、「Azure Event Grid とは」に基づいており、HTTP 経由で Event Grid のプルおよびプッシュ配信の使用を開始する前に重要な情報を提供します。 基本的な概念、リソース モデル、サポートされているメッセージ配信モードを対象にしています。 このドキュメントの最後には、Event Grid の使用方法を示す記事や、詳細な概念情報を提供する記事への便利なリンクが記載されています。

重要

このドキュメントは、HTTP プロトコルを使用する Event Grid 機能の使用を開始するのに役立ちます。 この記事は、クラウド上のアプリケーションを統合する必要があるユーザーに適しています。 IoT デバイス データの通信が必要な場合は、「Azure Event Grid での MQTT サポートの概要」を参照してください。

主要な概念

CloudEvents

Event Grid は、JSON 形式HTTP プロトコル バインドを使用する CNCF のオープン標準 CloudEvents 1.0 仕様に準拠しています。 つまり、ソリューションでは、次の例のような形式を使用してイベント メッセージを発行して使用します。

{
    "specversion" : "1.0",
    "type" : "com.yourcompany.order.created",
    "source" : "https://yourcompany.com/orders/",
    "subject" : "O-28964",
    "id" : "A234-1234-1234",
    "time" : "2018-04-05T17:31:00Z",
    "comexampleextension1" : "value",
    "comexampleothervalue" : 5,
    "datacontenttype" : "application/json",
    "data" : {
       "orderId" : "O-28964",
       "URL" : "https://com.yourcompany/orders/O-28964"
    }
}

イベントとは

イベントは、システム内で発生した何かを詳細に記述する最小限の情報です。 多くの場合、上記のようにイベントは個別のイベントと見なされます。これは、システムに関する独立した、実用的な分析情報を提供する事実を表しているためです。 例として、"com.yourcompany.Orders.OrderCreated"、"org.yourorg.GeneralLedger.AccountChanged"、"io.solutionname.Auth.MaximumNumberOfUserLoginAttemptsReached" などがあります。

注意

個別のイベントクラウド イベント、または単なるイベントという用語を同じ意味で使用して、システム状態の変化について通知するメッセージを表します。

イベントの詳細については、Event Grid の用語を参照してください。

別の種類のイベント

ユーザー コミュニティでは、デバイスからの 1 回の読み取りや Web アプリケーション ページでの 1 回のクリックなど、データ ポイントを伝える種類のメッセージに対するイベントを参照することもあります。 このようなイベントは、通常、分析情報を導き出してアクションを実行するために、所定の時間枠またはイベント ストリーム サイズで分析されます。 Event Grid のドキュメントでは、この種類のイベントをデータ ポイントストリーミング データ、またはテレメトリと呼びます。 これらは、Event Grid の MQTT でサポートされ、通常 Azure Event Hubs で処理されるデータの種類です。

トピックとイベント サブスクリプション

Event Grid に対して発行されたイベントは、トピックに配置されます。これは、論理的にすべてのイベントを格納するリソースです。 イベント サブスクリプションは、1 つのトピックに関連付けられた構成リソースです。 特に、イベント サブスクリプションを使用してイベント選択条件を設定し、トピックに存在するイベントの全セットの中でサブスクライバーが使用できるイベント コレクションを定義します。

Diagram showing a topic and associated event subscriptions.

プッシュ配信

プッシュ配信は、次のリソースでサポートされます。 それぞれの詳細については、リンクをクリックしてください。

  • システム トピック。 システム トピックは、Azure サービスから (システム) イベントを受信するために使用します。
  • カスタム トピック。 カスタム トピックは、アプリケーションのイベントを発行するときに使用します。
  • ドメイン。 ドメインは、通常、ユーザー、組織、またはアプリケーションの異なるグループにイベントを送信する必要がある単一のアプリケーションに関連付けられているドメイン トピックのグループを表します。 一般的な方法は、ドメイン トピックをターゲット アプリケーションのグループまたは同じテナント内の組織のユーザーに関連付けることです。 組織は、チーム、社内の部門、会社などです。
  • パートナー トピック。 パートナー トピックは、サード パーティのパートナーからのイベントを消費するときに使用します。

イベントのフィルター条件を指定し、サポートされているイベント ハンドラーのいずれかに宛先を設定するように、システム、カスタム、またはパートナーのトピックのイベント サブスクリプションを構成します。

サポートされているいくつかのイベント ハンドラーでプッシュ配信をサポートするリソースを、次の図に示します。

High-level diagram showing all the topic types that support push delivery, namely System, Custom, Domain, and Partner topics.

Note

Event Grid 名前空間でのプッシュ配信の詳細については、「[namespace-push-delivery-overview.md]」を参照してください。

次のステップ

次の記事では、Event Grid の使用方法に関する情報や、概念に関する追加情報を提供します。