Abonneren op gebeurtenissen voor een resourcegroep en filteren op een resource met PowerShell
Met dit script maakt u een Event Grid-abonnement op de gebeurtenissen voor een resourcegroep. Er wordt een filter gebruikt om alleen gebeurtenissen op te halen voor een bepaalde resource in de resourcegroep.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Voorbeeldscript - stabiel
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
# Provide an endpoint for handling the events. Must be formatted "https://your-endpoint-URL"
$myEndpoint = "<your-endpoint-URL>"
# Provide the name of the resource group to create. It will contain the network security group.
# You will subscribe to events for this resource group.
$myResourceGroup = "<resource-group-name>"
# Provide a name for the network security group to create.
$nsgName = "<your-nsg-name>"
# Create the resource group
New-AzResourceGroup -Name $myResourceGroup -Location westus2
# Create a network security group. You will filter events to only those that are related to this resource.
New-AzNetworkSecurityGroup -Name $nsgName -ResourceGroupName $myResourceGroup -Location westus2
# Get the resource ID to filter events. The name of the network security group must not be the same as the other resource names.
$resourceId = (Get-AzResource -ResourceName $nsgName -ResourceGroupName $myResourceGroup).ResourceId
# Subscribe to the resource group. Provide the name of the resource group you want to subscribe to.
New-AzEventGridSubscription `
-Endpoint $myEndpoint `
-EventSubscriptionName demoSubscriptionToResourceGroup `
-ResourceGroupName $myResourceGroup `
-SubjectBeginsWith $resourceId
Voorbeeldscript - preview-module
Belangrijk
Als u deze Azure-functie van PowerShell wilt gebruiken, moet de AzureRM
-module zijn geïnstalleerd. Dit is een oudere module die alleen beschikbaar is voor Windows PowerShell 5.1, dat geen nieuwe functies meer ontvangt.
De modules Az
en AzureRM
zijn niet compatibel als ze voor dezelfde versies van PowerShell worden geïnstalleerd.
Als u beide versies nodig hebt:
- De Az-module verwijderen vanuit een PowerShell 5.1-sessie.
- De AzureRM-module installeren vanuit een PowerShell 5.1-sessie.
- PowerShell Core 6.x of nieuwer downloaden en installeren.
- De Az-module installeren in een PowerShell Core-sessie.
Voor het voorbeeldscript van de preview is de Event Grid-module vereist. Voer Install-Module -Name AzureRM.EventGrid -AllowPrerelease -Force -Repository PSGallery
uit om deze te installeren
# You must have the latest version of the Event Grid PowerShell module.
# To install:
# Install-Module -Name AzureRM.EventGrid -AllowPrerelease -Force -Repository PSGallery
# Provide an endpoint for handling the events. Must be formatted "https://your-endpoint-URL"
$myEndpoint = "<your-endpoint-URL>"
# Provide the name of the custom topic to create
$topicName = "<your-topic-name>"
# Provide the name of the resource group to create. It will contain the custom topic.
$myResourceGroup= "<resource-group-name>"
# Create the resource group
New-AzResourceGroup -Name $myResourceGroup -Location westus2
# Create custom topic
New-AzEventGridTopic -ResourceGroupName $myResourceGroup -Location westus2 -Name $topicName
# Get resource ID of custom topic
$topicid = (Get-AzEventGridTopic -ResourceGroupName $myResourceGroup -Name $topicName).Id
# Set the operator type, field and values for the filtering
$AdvFilter1=@{operator="StringIn"; key="Data.color"; Values=@('blue', 'red', 'green')}
# Subscribe to the custom topic. Filter based on a value in the event data.
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName demoSubWithFilter `
-Endpoint $myEndpoint `
-AdvancedFilter @($AdvFilter1)
Uitleg van het script
In dit script wordt de volgende opdracht gebruikt om het abonnement op de gebeurtenis te maken. Elke opdracht in de tabel is een koppeling naar opdracht-specifieke documentatie.
Opdracht | Opmerkingen |
---|---|
New-AzEventGridSubscription | Hiermee wordt een Event Grid-abonnement gemaakt. |
Volgende stappen
- Zie Overzicht van door Azure beheerde toepassingen voor algemene informatie over beheerde toepassingen.
- Zie Documentatie over Azure PowerShell voor meer informatie over PowerShell.