プッシュデリバリーとは、イベントグリッドの名前空間がイベントを公開次第、すぐに目的地に送信する配信モードであり、アプリケーションがポーリングせずに離散的なイベントに反応できるようにします。 HTTP上で、Event Gridは各イベントをサポートされているイベントハンドラや設定したカスタムウェブフックにプッシュします。
この記事では、Event Gridネームスペースにおけるプッシュ配信の仕組みを説明し、サポートされているイベントハンドラについて説明しています。これにより、アプリケーションに合うかどうか判断できます。
名前空間のトピックとサブスクリプション
Event Grid 名前空間に対して発行されたイベントは、トピックに配置されます。トピックとは、論理的にすべてのイベントを格納する名前空間のサブリソースです。 ネームスペーストピックを使えば、柔軟な消費モードを持つサブスクリプションを作成して、イベントを特定の目的地に押し上げたり、自分のペースで イベントを引き上げ たりできます。
サポートされているイベント ハンドラー
Event Gridは以下のイベントハンドラをサポートしています:
プッシュとプル配信
Event Grid は、HTTP を使用してプッシュとプルのイベント配信をサポートしています。 プッシュ配信では、イベント サブスクリプション、Webhook、または Azure サービス内に、Event Grid がイベントを送信する宛先を定義します。 プル配信では、サブスクライバー アプリケーションは Event Grid に接続してイベントを使用します。 プル配信は、Event Grid 名前空間内のトピックでサポートされています。
重要
Event Hubs は、名前空間トピックへのサブスクリプションの宛先としてサポートされています。 今後のリリースでの Event Grid 名前空間では、Event Grid Basic で現在使用できるすべての宛先と、追加の宛先がサポートされます。
プッシュ配信とプル配信を使用するケース
どのような場合にプル配信またはプッシュ配信を使用するかを決定するのに役立つ一般的なガイドラインを次に示します。
プル配信
- イベントを受信するタイミングを完全に制御する必要があるとき。 たとえば、アプリケーションが常に稼働していないか、十分に安定していないか、特定の時間にデータを処理する場合があります。
- イベントの消費を完全に制御する必要があります。 たとえば、コンシューマー アプリケーションのダウンストリーム サービスまたはレイヤーに、イベントの処理を妨げる問題が発生する場合があります。 その場合、プル配信 API を使用すると、コンシューマー アプリが既に読み取ったイベントを後で配信できるように、ブローカーに戻すことができます。
- イベントを受信するときにプライベート リンクを使用する必要があり、これはプッシュ配信ではなく、プル配信でのみ可能です。
- エンドポイントを公開してプッシュ配信を使用する機能はありませんが、Event Grid に接続してイベントを消費できます。
プッシュ配信
- システム状態の変化が発生したことを判別するための定期的なポーリングを回避する必要があるとき。 Event Grid を使用して、状態の変化が発生した時点でイベントを送信するようにできます。
- 着信発信をできないアプリケーションを持っている。 たとえば、組織がデータ流出を懸念している場合があります。 ただし、アプリケーションはパブリック エンドポイントを経由でイベントを受信できます。