Azure CLI を使用したリソース グループのイベントのサブスクライブとリソースのフィルタリングSubscribe to events for a resource group and filter for a resource with Azure CLI

このスクリプトは、リソース グループのイベントに対する Event Grid サブスクリプションを作成します。This script creates an Event Grid subscription to the events for a resource group. そのリソース グループ内の特定のリソースのイベントだけを取得するために、フィルターが使用されます。It uses a filter to get only events for a specified resource in the resource group.

このサンプルを実行するには、最新バージョンの Azure CLI をインストールします。To run this sample, install the latest version of the Azure CLI. 開始するには、az login を実行して、Azure との接続を作成します。To start, run az login to create a connection with Azure.

Azure CLI のサンプルは、bash シェル用に記述されています。Samples for the Azure CLI are written for the bash shell. このサンプルを Windows PowerShell またはコマンド プロンプトで実行するには、スクリプトの要素を変更する必要があります。To run this sample in Windows PowerShell or Command Prompt, you may need to change elements of the script.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

プレビュー版サンプル スクリプトには、Event Grid 拡張機能が必要です。The preview sample script requires the Event Grid extension. インストールするには、az extension add --name eventgrid を実行します。To install, run az extension add --name eventgrid.

サンプル スクリプト - 安定版Sample script - stable

#!/bin/bash

# Provide an endpoint for handling the events.
myEndpoint="<endpoint URL>"

# Select the Azure subscription that contains the resource group.
az account set --subscription "<name or ID of the subscription>"

# Get the resource ID to filter events
resourceId=$(az resource show --name demoSecurityGroup --resource-group myResourceGroup --resource-type Microsoft.Network/networkSecurityGroups --query id --output tsv)

# Subscribe to the resource group. Provide the name of the resource group you want to subscribe to.
az eventgrid event-subscription create \
  --name demoSubscriptionToResourceGroup \
  --resource-group myResourceGroup \
  --endpoint $myEndpoint \
  --subject-begins-with $resourceId

サンプル スクリプト - プレビュー版拡張機能Sample script - preview extension

#!/bin/bash

# Provide an endpoint for handling the events.
myEndpoint="<endpoint URL>"

# Provide the name of the custom topic to create
topicName=<your-topic-name>

# Provide the name of the resource group to contain the custom topic
myResourceGroup=demoResourceGroup

# Select the Azure subscription that contains the resource group.
az account set --subscription "<name or ID of the subscription>"

# Create the resource group
az group create -n $myResourceGroup -l eastus2

# Create custom topic
az eventgrid topic create --name $topicName -l eastus2 -g $myResourceGroup

# Get resource ID of custom topic
topicid=$(az eventgrid topic show --name $topicName -g $myResourceGroup --query id --output tsv)

# Subscribe to the custom topic. Filter based on a value in the event data.
az eventgrid event-subscription create \
  --source-resource-id $topicid \
  -n demoAdvancedFilterSub \
  --advanced-filter data.color stringin blue red green \
  --endpoint $endpointURL

スクリプトの説明Script explanation

このスクリプトは、次のコマンドを使用してイベント サブスクリプションを作成します。This script uses the following command to create the event subscription. 表内の各コマンドは、それぞれのドキュメントにリンクされています。Each command in the table links to command-specific documentation.

コマンドCommand メモNotes
az eventgrid event-subscription createaz eventgrid event-subscription create Event Grid のサブスクリプションを作成する。Create an Event Grid subscription.
az eventgrid event-subscription create - 拡張機能のバージョンaz eventgrid event-subscription create - extension version Event Grid のサブスクリプションを作成する。Create an Event Grid subscription.

次の手順Next steps