Azure Event Grid でのシステム トピック

Event Grid でのシステム トピックは、Azure Storage や Azure Event Hubs などの Azure サービスによって発行された 1 つ以上のイベントを表します。 たとえば、システム トピックはすべての BLOB イベント、または特定のストレージ アカウントに対して発行された BLOB 作成および BLOB 削除イベントのみを表す可能性があります。 この例では、BLOB がストレージ アカウントにアップロードされると、Azure Storage サービスは Event Grid でのシステム トピックに BLOB 作成イベントを発行します。その後、そのイベントはそこから、イベントを受信して処理するトピックのサブスクライバーに転送されます。

注意

  • システム トピックにイベントを発行できるのは Azure サービスだけです。 そのため、カスタム トピックまたはイベント ドメインの場合とは異なり、イベントを発行するために使用できるエンドポイントまたはアクセス キーは取得しません。

システム トピックをサポートする Azure サービス

自身でのシステム トピックの作成をサポートする Azure サービスの現在の一覧を次に示します。

Azure リソースとしてのシステム トピック

以前は、システム トピックは暗黙的であり、簡潔にするために公開されていませんでした。 システム トピックは Azure リソースとして表示されるようになり、次の機能を提供します。

注意

Azure Event Grid では、イベント ソースをもつ同じ Azure サブスクリプションにシステム トピック リソースを作成します。 たとえば、Azure サブスクリプション ContosoSubscription でストレージ アカウント ContosoStorage のシステム トピックを作成する場合、Event Grid は ContosoSubscription にシステム トピックを作成します。 イベント ソースの Azure サブスクリプションとは異なる Azure サブスクリプションにはシステム トピックを作成できません。

システム トピックのライフサイクル

システム トピックは、次の 2 つの方法で作成できます。

  • Azure リソースのイベント サブスクリプションを拡張機能リソースとして作成します。これにより、<Azure resource name>-<GUID> という形式の名前を持つシステム トピックが自動的に作成されます。 この方法で作成されたシステム トピックは、そのトピックの最後のイベント サブスクリプションが削除されると自動的に削除されます。

  • Azure リソースのシステム トピックを作成してから、そのシステム トピックのイベント サブスクリプションを作成します。 この方法を使用する場合は、システム トピックの名前を指定できます。 このシステム トピックは、最後のイベント サブスクリプションが削除されても自動的には削除されません。 手動で削除する必要があります。

    Azure portal を使用する場合は、常にこの方法が使用されます。 Azure リソースの [イベント] ページを使用してイベント サブスクリプションを作成すると、まずシステム トピックが作成され、次にそのトピックのサブスクリプションが作成されます。 まず [Event Grid システム トピック] ページを使用し、次にそのトピックのサブスクリプションを作成することによって、システム トピックを明示的に作成できます。

CLIREST、または Azure Resource Manager テンプレートを使用する場合は、上の方法のどちらかを選択できます。 まずシステム トピックを作成し、次にそのトピックのサブスクリプションを作成することをお勧めします。それがシステム トピックを作成するための最新の方法であるためです。

システム トピックの作成に失敗する

Azure ポリシーを Event Grid サービスがシステム トピックを作成できないように設定している場合は、システム トピックの作成が失敗します。 たとえば、サブスクリプション内の特定の種類のリソース (Azure Storage、Azure Event Hubs など) のみの作成を許可するポリシーがあるとします。

このような場合、イベント フローの機能は維持されます。 ただし、システム トピックのメトリックと診断機能は使用できません。

この機能が必要な場合は、システム トピック タイプのリソースの作成を許可し、「システム トピックのライフサイクル」の説明に従って、不足しているシステム トピックを作成します。

システム トピックのための場所とリソース グループ

特定のリージョンまたは場所にある Azure イベント ソースの場合、システム トピックは Azure イベント ソースと同じ場所に作成されます。 たとえば、米国東部の Azure Blob Storage に対してイベント サブスクリプションを作成すると、米国東部にシステム トピックが作成されます。 Azure サブスクリプション、リソース グループ、Azure Maps などのグローバルな Azure イベント ソースの場合は、Event Grid によってグローバルな場所にシステム トピックが作成されます。

一般に、システム トピックは Azure イベント ソースと同じリソース グループに作成されます。 Azure サブスクリプションのスコープで作成されたイベント サブスクリプションの場合、システム トピックは米国西部 2 リージョンの Default-EventGrid リソース グループに作成されます。 リソース グループが存在しない場合は、システム トピックが作成される前に、Azure Event Grid によってリソース グループが作成されます。

次のステップ

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