Event Grid Basic から Event Grid 名前空間トピックにイベントを送信する方法
この記事では、トピック、システム トピック、ドメイン、パートナー トピックなどのリソースで作成されたイベント サブスクリプションから Event Grid 名前空間にイベントを転送する方法について説明します。
概要
Event Grid Basic は、エンドポイントの種類として Event Grid 名前空間トピックをサポートしています。 Event Grid トピック、システム トピック、ドメイン、またはパートナー トピックへのイベント サブスクリプションを作成する場合、イベントを処理するエンドポイントとして Event Grid 名前空間トピックを選択できます。
Event Grid の基本イベント サブスクリプションの宛先としての名前空間トピックは、既存のワークフローを変更せずに Event Grid 名前空間に移行するのに役立ちます。 Event Grid 名前空間は、ソリューションで使用したいと思うような興味深い新機能を備えています。 現在、トピック、システム トピック、ドメイン、パートナー トピックなどの Event Grid Basic リソースを使用している場合は、現在のトピックで新しいイベント サブスクリプションを作成し、ハンドラーの宛先として Event Grid 名前空間トピックを選択するだけで済みます。
この記事では、Azure Storage イベントを Event Grid 名前空間に転送するシナリオの例について説明します。 手順の概要は次のとおりです。
- Azure ストレージ アカウント用のシステム トピックを作成し、システム トピック用のマネージド ID を有効にします。
- システム トピックのマネージド ID を、宛先 Event Grid 名前空間の Event Grid データ送信者ロールに割り当てます。
- イベント ハンドラーとして Event Grid 名前空間を使用してシステム トピックへのイベント サブスクリプションを作成し、イベント配信にマネージド ID を使用します。
前提条件
- 「名前空間の作成、表示、管理」の手順に従って、Event Grid 名前空間リソースを作成します。
- 「名前空間トピックの作成、表示、管理」の手順に従って、Event Grid 名前空間トピックを作成します。
- 「名前空間トピックにおけるイベント サブスクリプションの作成、表示、管理」の手順に従って、Event Grid 名前空間トピックのイベント サブスクリプションを作成します。 この手順は省略可能ですが、シナリオをテストする場合に便利です。
- ストレージ アカウントを作成する手順に従って、Azure ストレージ アカウントを作成します。
システム トピックを作成し、ストレージ アカウントのマネージド ID を有効にする
ストレージ アカウントの既存のシステム トピックがある場合は、システム トピック ページに移動します。 システム トピックがない場合は、作成してください。 次に、ストレージ アカウントのマネージド ID を有効にします。
Azure Portalに移動します。
検索バーで「Event Grid システム トピック」を検索し、検索結果から選択します。
[Event Grid システム トピック] ページで [+ 作成] を選択します。
[Event Grid システム トピックの作成] ページで、次の手順を実行します。
[確認および作成] ページで、設定を確認し、 [作成] を選択します。
デプロイが成功したら、[リソースに移動] を選択し、作成したシステム トピックの [Event Grid システム トピック] ページに移動します。
システム トピックのマネージド ID を有効にする
次に、作成したシステム トピックのマネージド ID を有効にします。 この例では、システム トピック用にシステム割り当てマネージド ID を作成してみましょう。
[Event Grid システム トピック] ページで、左側のナビゲーション メニューの [設定] で [ID] を選択します。
[ID] ページで、[状態] として [オン] を選択します。
コマンド バーで、 保存 を選択します。
確認ポップアップ ウィンドウで [はい] を選択して、マネージド ID の作成を確定します。
マネージド ID が作成されると、ID のオブジェクト (プリンシパル) ID が表示されます。
Web ブラウザーの現在のタブで [システム トピック] ページを開いたままにします。
イベントを名前空間に送信するアクセス許可を ID に付与する
最後の手順では、ストレージ アカウントのシステム トピック用にシステム割り当てマネージド ID を作成しました。 この手順では、ターゲットまたは宛先の名前空間にイベントを送信するアクセス許可を ID に付与します。
Web ブラウザーの新しいタブまたはウィンドウを開きます。 Azure portal で、Event Hubs 名前空間に移動します。
左メニューで [アクセス制御 (IAM)] を選択します。
[追加] を選択し、[ロールの割り当ての追加] を選択します。
[ロール] ページで、[Event Grid データ送信者] ロールを検索して選択し、[次へ] を選択します。
[メンバー] ページの [アクセスの割り当て先] で [マネージド ID] を選択し、[+ メンバーの選択] を選択します。
[マネージド ID の選択] ページで、次の手順に従います。
[メンバー] ページで、[次へ] を選択します。
[レビューと割り当て] ページで設定を確認し、ページの下部にある [レビューと割り当て] を選択します。
ストレージ システム トピックへのイベント サブスクリプションを作成する
これで、名前空間をエンドポイントとして使用して、ソース ストレージ アカウントのシステム トピックに対するイベント サブスクリプションを作成する準備ができました。
システム トピックの [システム トピック] ページで、左側のメニューにある [概要] を選択します (まだ選択されていない場合)。
コマンド バーで [+ イベント サブスクリプション] を選択します。
[イベント サブスクリプションの作成] ページで、次の手順に従います。
[Event Grid 名前空間トピックの選択] ページで、次の手順を実行します。
- [サブスクリプション] で、Azure サブスクリプション、リソース グループ、名前空間トピックを持つ名前空間を選択します。
- [Event Grid 名前空間トピック] では、名前空間トピックを選択します。
- ページの下部にある [選択の確認] を選択します。
次に、[イベント サブスクリプションの作成] ページの [マネージド ID の種類] で [システム割り当て] を選択します。
ページの下部にある [作成] を選択します。
シナリオをテストするには、Azure Blob ストレージにコンテナーを作成し、そこにファイルをアップロードします。 名前空間トピックのイベント ハンドラーまたはエンドポイントが、BLOB で作成されたイベントを受信することを確認します。
Azure ストレージのコンテナーに BLOB をアップロードすると、次のことが起こります。
- Azure Blob Storage は、BLOB ストレージのシステム トピックに "BLOB が作成されました" イベントを送信します。
- イベントは、システム トピックのイベント ハンドラーまたはエンドポイントであるため、名前空間トピックに転送されます。
- 名前空間トピックに対するサブスクリプションのエンドポイントは、転送されたイベントを受信します。
関連するコンテンツ
次の記事をご覧ください。