Azure CLI を使用した Event Grid システム トピックの作成、表示、管理

この記事では、Azure CLI を使用してシステム トピックを作成および管理する方法について説明します。 システム トピックの概要については、システム トピックに関するページを参照してください。

Azure CLI 用の拡張機能のインストール

Azure CLI の場合は、Event Grid 拡張機能が必要です。

Cloud Shell で:

  • 拡張機能を以前にインストールしている場合は、それを更新します。az extension update -n eventgrid
  • 拡張機能を以前にインストールしていない場合は、それをインストールします。az extension add -n eventgrid

ローカル インストールの場合:

  1. Azure CLI のインストールを実行します。 az --version を使って確認し、最新バージョンがあることを確認します。
  2. 以前のバージョンの拡張機能をアンインストールします。az extension remove -n eventgrid
  3. az extension add -n eventgrid によって、eventgrid 拡張機能をインストールします

システム トピックを作成する

  • 最初に Azure ソースにシステム トピックを作成してから、そのトピックのイベント サブスクリプションを作成するには、次の参照トピックを参照してください。

    • az eventgrid system-topic create

      # Get the ID of the Azure source (for example: Azure Storage account)
      storageid=$(az storage account show \
              --name <AZURE STORAGE ACCOUNT NAME> \
              --resource-group <AZURE RESOURCE GROUP NAME> \
                  --query id --output tsv)
      
      # Create the system topic on the Azure source (example: Azure Storage account)
      az eventgrid system-topic create \
          -g <AZURE RESOURCE GROUP NAME> \
          --name <SPECIFY SYSTEM TOPIC NAME> \
          --location <LOCATION> \
          --topic-type microsoft.storage.storageaccounts \
          --source $storageid
      

      システム トピックの作成に使用できる topic-type 値の一覧については、次のコマンドを実行してください。 これらのトピックの種類の値は、システム トピックの作成をサポートするイベント ソースを表します。 一覧から Microsoft.EventGrid.TopicsMicrosoft.EventGrid.Domains を無視してください。

      az eventgrid topic-type  list --output json | grep -w id
      
    • az eventgrid system-topic event-subscription create

      az eventgrid system-topic event-subscription create --name <SPECIFY EVENT SUBSCRIPTION NAME> \
          -g rg1 --system-topic-name <SYSTEM TOPIC NAME> \
          --endpoint <ENDPOINT URL>		  
      
  • Azure ソースのイベント サブスクリプションを作成するときに、(暗黙的に) システム トピックを作成するには、az eventgrid event-subscription create メソッドを使用します。 次に例を示します。

    storageid=$(az storage account show --name <AZURE STORAGE ACCOUNT NAME> --resource-group <AZURE RESOURCE GROUP NAME> --query id --output tsv)
    endpoint=<ENDPOINT URL>
    
    az eventgrid event-subscription create \
      --source-resource-id $storageid \
      --name <EVENT SUBSCRIPTION NAME> \
      --endpoint $endpoint
    

    詳細な手順のチュートリアルについては、「ストレージ アカウントをサブスクライブする」を参照してください。

すべてのシステム トピックを表示する

すべてのシステム トピックと選択したシステム トピックの詳細を表示するには、次のコマンドを使用します。

システム トピックを削除します

システム トピックを削除するには、次のコマンドを使用します。

次のステップ

Azure Event Grid でサポートされるシステム トピックとトピックの種類の詳細については、「Azure Event Grid でのシステム トピック」セクションを参照してください。