Abonnieren von Ereignissen für eine Ressourcengruppe und Filtern nach einer Ressource mit PowerShell
Dieses Skript erstellt ein Event Grid-Abonnement für die Ereignisse für eine Ressourcengruppe. Es verwendet einen Filter, um nur Ereignisse für eine angegebene Ressource in der Ressourcengruppe abzurufen.
Sollten Sie über kein Azure-Abonnement verfügen, können Sie zunächst ein kostenloses Azure-Konto erstellen.
Beispielskript: stabil
Hinweis
Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
# 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
Beispielskript: Vorschaumodul
Wichtig
Die Verwendung dieser Azure-Funktion mit PowerShell erfordert, dass Sie das AzureRM
-Modul installiert haben. Dies ist ein älteres Modul, das nur für Windows PowerShell 5.1 verfügbar ist und keine neuen Funktionen mehr erhält.
Die Az
- und AzureRM
-Module sind nicht kompatibel, wenn sie für dieselben PowerShell-Versionen installiert werden.
Wenn Sie beide Versionen benötigen:
- Deinstallieren Sie das Az-Modul über eine PowerShell 5.1-Sitzung.
- Deinstallieren Sie das AzureRM-Modul über eine PowerShell 5.1-Sitzung.
- Laden Sie mindestens PowerShell Core 6.x herunter, und installieren Sie die Anwendung.
- Installieren Sie das Az-Modul in einer PowerShell Core-Sitzung.
Für das Vorschaubeispielskript ist das Event Grid-Modul erforderlich. Führen Sie zum Installieren Install-Module -Name AzureRM.EventGrid -AllowPrerelease -Force -Repository PSGallery
aus.
# 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)
Erläuterung des Skripts
Dieses Skript verwendet den folgenden Befehl, um das Ereignisabonnement zu erstellen. Jeder Befehl in der Tabelle ist mit der zugehörigen Dokumentation verknüpft.
Befehl | Notizen |
---|---|
New-AzEventGridSubscription | Erstellen Sie ein Event Grid-Abonnement. |
Nächste Schritte
- Eine Einführung in verwaltete Anwendungen finden Sie in der Übersicht über verwaltete Azure-Anwendungen.
- Weitere Informationen zu PowerShell finden Sie in der Azure PowerShell-Dokumentation.