パートナー向けのパートナー イベントの概要 - Azure Event Grid

Event Grid の パートナー イベントを使用すると、顧客は、Azure サービスなど、Azure 上の他のイベント ソースに使用するのと同じメカニズムを使用して、登録済みシステムで発生するイベントをサブスクライブできます。 Event Grid と統合するこれらの登録済みシステムを "パートナー" と呼びます。 この機能を使用すると、顧客は、プラットフォーム内の顧客のソリューションまたはエンドポイントへのイベントの受信とルーティングをサポートするパートナー システムにイベントを送信することもできます。 通常、パートナーはサービスとしてのソフトウェア (SaaS) または ERP プロバイダーですが、社内チームがイベントを利用できるようにしたいと考える企業プラットフォームである場合もあります。 Event Grid と意図的に統合して、Azure 上で終了する (顧客は、パートナーによって送信されるイベントをサブスクライブ) またはパートナー システム上で終了する (顧客は、Azure Event Grid によって送信される Microsoft イベントをサブスクライブ) エンドツーエンドの顧客ユース ケースを実現します。 顧客は Azure Event Grid を利用して、パートナーによって発行されるイベントを、Webhook、Azure Functions、Azure Event Hubs、Azure Service Bus など、サポートされている宛先に送信します。 また、顧客は Outlook、Teams、Microsoft Entra ID などの Microsoft サービスで発生するイベントを、顧客のソリューションがそれらに対応できるように Azure Event Grid を利用してルーティングします。 パートナー イベントを使用して、顧客はプラットフォームとネットワークの境界を越えるイベントドリブン ソリューションを構築し、確実で安全かつ大規模にイベントを受信または送信できます。

注意

これは概念についての記事です。Azure Event Grid のパートナーとしてオンボードすることを決定する前に必ずお読みください。 Azure portal を使用して Event Grid パートナーとしてオンボードする方法の詳細な手順については、Event Grid パートナーとしてオンボードする方法 (Azure portal) に関するページを参照してください。

パートナー イベント: しくみ

パートナーとして、イベントを Azure Event Grid に発行することで、Azure 上の顧客がサブスクライブできるようにする Event Grid リソースを作成します。 SaaS プロバイダーなど、ほとんどのパートナーにとって、使用する唯一の統合機能です。

Event Grid リソースを作成して、Azure Event Grid からイベントを受信することもできます。 このユース ケースは、エンドポイントを公開して顧客がイベントを受信できるようにするプラットフォームを所有または管理する組織が対象です。 これらの組織の一部は、プラットフォーム内にイベント ルーティング機能も備えた ERP システムであり、プラットフォームでホストされている顧客アプリケーションに受信 Azure イベントを送信します。

イベントの発行またはイベントの受信については、次の一般的な手順に従って、同じ種類の Event Grid リソースを作成します。

  1. Event Grid チーム (askgrid@microsoft.com) に連絡して、パートナーになることに関心があることをお伝えください。 ご連絡をいただくと、オンボード プロセスを案内いたします。お客様のサービスが、Azure Event Grid ギャラリーのエントリー カードを取得することで、Azure portal で見つけることができるようにお手伝いします。

  2. パートナー登録を作成します。 これはグローバル リソースであり、通常は 1 回作成する必要があります。

  3. パートナー名前空間を作成します。 このリソースで、Azure にイベントを発行できるエンドポイントが公開されます。 パートナー名前空間を作成するときは、作成したパートナー登録を指定します。

  4. 顧客は、お客様のAzure のサブスクリプションのパートナートピックを作成することを承認します。

  5. 顧客は Web ページにアクセスするか、コマンドを実行します。お客様はユーザー エクスペリエンスを定義して、Azure へのイベントのフローまたは Microsoft イベントをシステムに受信する機能を要求します。 その要求に応えて、顧客からの入力を使ってそうするようにシステムを設定します。 たとえば、お客様のシステムから Azure に転送する必要がある特定のイベントを選択するオプションを顧客に提供できます。

  6. チャネルを使用して、顧客の Azure サブスクリプションとリソース グループにパートナー トピックを作成します。 チャネルは、パートナー名前空間に含まれるリソースです。

  7. 顧客は、Azure サブスクリプションとリソース グループで作成したパートナー トピックをアクティブ化します。

  8. パートナー名前空間へのイベントの発行を開始します。

    注意

    Event Grid リソースを作成するすべての Azure サブスクリプションに Azure Event Grid リソース プロバイダーを登録する必要があります。 そうしないと、リソースを作成する操作は失敗します。

パートナー イベントを使用する理由

次の要件が 1 つ以上ある場合、パートナー イベント機能を使用することができます。

パートナーがイベント発行元になる場合

  • Azure で顧客がイベントを利用できるようにするメカニズムが必要です。 ユーザーは、自分が所有して管理するパートナー トピックとイベント サブスクリプションを使用することで、それらのイベントをフィルター処理し、ルーティングすることができます。 トピックドメインなど、他の統合アプローチを使用することもできます。 ただし、これらのアプローチでは、お客様と顧客の間でリソースの所有権、管理、課金を完全に分離することはできません。 パートナー イベント機能から、お客様のサービスを簡単に見つけることができる、より直感的なユーザー エクスペリエンスも提供します。
  • イベントを異なる顧客にルーティングするには、名前空間のエンドポイントである単一のリージョン エンドポイントにイベントを発行するシンプルなマルチテナント モデルが必要です。
  • 発行されたイベントに関連するメトリックを表示できる必要がある。
  • イベントに Cloud Events 1.0 スキーマを使用する必要があります。

パートナーがサブスクライバーになる場合

  • 顧客のサービスが、Microsoft Azure で発生する顧客イベントに対応するようにできます。
  • 顧客が、お客様のプラットフォームでホストされる顧客のアプリケーションを使用して Microsoft Azure サービス イベントに対応するようにできます。 お客様のプラットフォームのイベント ルーティング機能を使用して、適切な顧客ソリューションにイベントを配信します。
  • 顧客がお客様のサービス名を宛先として選択するだけで、プラットフォーム エンドポイントなどの技術的な詳細を知る必要がないシンプルなモデルを用意できます。
  • お客様のシステムまたはプラットフォームは、Cloud Events 1.0 スキーマをサポートします。

パートナーが管理するリソース

パートナーとして、次の種類のリソースを管理します。

パートナー登録

登録すると、パートナーに関連する一般的な情報が保持されます。 登録は、パートナー名前空間を作成するときに必要です。 つまり、Azure Event Grid と統合するために必要な Azure リソースを作成するには、パートナー登録が必要です。

登録はグローバルです。 つまり、特定の Azure リージョンには関連付けられていません。 1 つのパートナー登録を作成して、パートナー名前空間を作成するときに使用できます。

チャネル

チャネルとは、パートナー名前空間に入れ子にされたリソースです。 チャネルには、主に次の 2 つの目的があります。

  • これは、顧客の Azure サブスクリプションでパートナー リソースを作成できるリソースの種類です。 種類が partner topic のチャネルを作成すると、パートナー トピックが顧客の Azure サブスクリプションに作成されます。 パートナー トピックは、パートナー システムがイベントを発行するときにイベントがルーティングされる顧客のリソースです。

    チャネルのライフサイクルは、関連する顧客のパートナー トピックまたは宛先と同じです。 たとえば、種類が partner topic のチャネルが削除されると、関連付けられている顧客のパートナー トピックが削除されます。 同様に、パートナー トピックが顧客によって削除されると、お客様の Azure サブスクリプション上で関連付けられているチャネルが削除されます。

  • これは、イベントのルーティングに使用されるリソースです。 種類が partner topic のチャネルは、顧客のパートナー トピックにイベントをルーティングするために使用されます。 2 種類のルーティング モードをサポートしています。

    • チャネル名のルーティング。 このルーティングの種類では、aeg-channel-name という名前の http ヘッダーにイベントをルーティングするチャネルの名前を指定して、イベントを発行します。 チャネルはパートナーのパートナー トピックの表現であり、チャネルにルーティングされたイベントが、顧客のパートナー トピックに表示されます。 このルーティングの種類は、ソースベースのルーティングのみをサポートする event channels には存在しない新しい機能です。 チャネル名のルーティングは、ソースベースのルーティングよりも多くのユースケースが可能であり、このルーティング モードを選択することをお勧めします。 たとえば、チャネル名のルーティングを使用すると、顧客は、異なるイベント ソースで発生するイベントを 1 つのパートナー トピックに配置するように要求できます。
    • ソースベースのルーティング。 このルーティング方法は、イベント内の source コンテキスト属性の値に基づきます。 ソースはチャネルにマッピングされ、イベントがソース、たとえば値 "A" が付いている場合、そのイベントはソース プロパティに "A" を含むチャネルに関連付けられているパートナー トピックにルーティングされます。

    チャネルや関連するパートナー トピックにルーティングされるイベントの種類を宣言できます。 イベントの種類は、パートナー トピックでイベント サブスクリプションを作成するときに顧客に表示され、イベント ハンドラーの送信先に送信する特定のイベントの種類を選択するために使用されます。 詳しくはこちらをご覧ください

    重要

    イベントの種類はチャネルで管理でき、値が更新されると、関連付けられているパートナー トピックに変更がすぐに反映されます。

パートナー名前空間

パートナー名前空間は、イベントを Azure Event Grid に発行するエンドポイントを持つリージョン リソースです。 パートナー名前空間には、チャネルまたはイベント チャネル (レガシ リソース) が含まれます。 チャネルとそれに対応するパートナー リソースが同じリージョンに存在する必要があるため、顧客がパートナー トピックまたは宛先を要求するリージョンにパートナー名前空間を作成する必要があります。 あるリージョンにチャネルがあり、その関連するパートナー トピックを、たとえば、別のリージョンに置くことはできません。

パートナー名前空間には、チャネルまたはイベント チャネルが含まれます。 これは、名前空間にあるプロパティのパートナー トピック ルーティング モードによって決まります。 これがチャネル名ヘッダーに設定されている場合、名前空間の下に作成できるリソースの種類はチャネルのみです。 パートナー トピック ルーティング モードがイベントのソース属性に設定されている場合、名前空間にはイベント チャネルのみを含めることができます。 適切な partner topic routing mode の設定の決定によって、チャネル名のルーティングとソースベースのルーティングのどちらを選択するかが決定されるのはでないことに留意します。 チャネルは両方をサポートします。 正しくは、ルーティング リソースの新しい種類であるチャネルを使用するか、レガシ リソースであるイベント チャネルを使用するかを決定します。

イベント チャネル

イベント チャネルとは、受信イベントをパートナー トピックにルーティングするために、パートナー イベントで最初にリリースされたリソースです。 イベント チャネルはソースベースのルーティングのみをサポートし、常に顧客パートナー トピックを表します。

重要

イベント チャネルは非推奨になります。 そのため、チャネルを使用することをお勧めします。

検証済みパートナー

検証済みパートナーとは、Microsoft によって ID が検証されているパートナー組織です。 お客様の組織が検証を受けることを強くお勧めします。 顧客は、こうした検証によって、正規の組織と取引していることがより確実に保証されるため、検証済みのパートナーとの取引を求めています。 検証を受けると、Event Grid ギャラリーで存在感を示すことができます。ここで、顧客はお客様のサービスを簡単に見つけ、たとえばお客様のイベントをサブスクライブする際にファーストパーティのエクスペリエンスが得られる利点があります。

パートナー トピックを作成するための顧客の承認

顧客は、お客様が Azure サブスクリプションでパートナー トピックを作成することを承認します。 承認は、顧客の Azure サブスクリプション内の特定のリソース グループに対して付与され、期限があります。 顧客が設定した有効期限の前にチャネルを作成する必要があります。 承認の期限が切れる前に、イベントを送受信し、チャネルを作成するようにお客様のシステムを構成するための十分な期間を顧客に提示するドキュメントを用意する必要があります。 承認なしで、または有効期限が切れた後にチャネルを作成しようとすると、チャネルの作成は失敗し、顧客の Azure サブスクリプションにリソースは作成されません。

Note

Event Grid では、2022 年 6 月 30 日頃にパートナー トピックを作成するための承認チェックの実施を開始しました。 お使いのドキュメントでは、チャネルを作成する前に、前提条件として承認を付与するように顧客に依頼する必要があります。

重要

検証済みパートナーとは、承認されたパートナーではありません。 パートナーの Microsoft による審査が完了している場合でも、顧客の Azure サブスクリプションでパートナー トピックを作成する前に、承認を受ける必要があります。

パートナー トピックのアクティブ化

顧客は、お客様が顧客のために作成したパートナー トピックまたは宛先をアクティブ化します。 そのとき、チャネルのアクティブ化状態が、Activated に変わります。 チャネルがアクティブ化されたら、チャネルを含むパートナー名前空間エンドポイントへのイベントの発行を開始できます。

特定のパートナー トピックのイベントの発行を開始できるタイミングを知るためにプロセスを自動化する方法

2 つのオプションがあります。

  • チャネルの状態を定期的に読み取り (ポーリング) して、アクティブ化状態が NeverActivated から Activated に変わっているかどうかを確認します。 この操作は、計算負荷が高くなる可能性があります。
  • 監視するチャネルを含む Azure サブスクリプションまたはリソース グループに対してイベント サブスクリプションを作成します。 チャネルが更新されるたびに Microsoft.Resources.ResourceWriteSuccess イベントを受け取ります。 次に、イベントで提供される Azure Resource Manager ID が設定されているチャネルの状態を読み取り、その更新が Activated へのアクティブ化状態の変更に関連していることを確認する必要があります。

References

SDK

次のステップ