Tento článek popisuje, jak vytvořit události před a po publikování v Azure Update Manageru.
Event Grid v konfiguracích plánování údržby
Správce aktualizace Azure využívá Event Grid k vytváření a správě předchozích a následných událostí. Další informace najdete v přehledu služby Event Grid. Pokud chcete aktivovat událost před oknem plánované údržby nebo po něm, potřebujete následující:
Konfigurace plánované údržby – ve Správci aktualizace Azure můžete vytvořit předchozí a následné události pro konfiguraci plánované údržby. Další informace najdete v tématu Plánování aktualizací pomocí konfigurací údržby.
Akce, která se má provést v předchozí nebo následné události – k definování akcí nebo úkolů můžete použít obslužné rutiny událostí (koncové body) podporované službou Event Grid. Tady jsou příklady, jak vytvářet runbooky Azure Automation prostřednictvím webhooků a Azure Functions. V rámci těchto obslužných rutin událostí/koncových bodů musíte definovat akce, které by se měly provádět v rámci předběžných a následných událostí.
Předchozí a následná událost – Podle kroků sdílených v následující části můžete vytvořit předchozí a následnou událost pro konfiguraci plánované údržby. Další informace o termínech použitých na kartě Základy Event Gridu najdete v tématu Pojmy Event Gridu.
Vytvoření předběžné a následné události
Vytvoření událostí před a po vytvoření nové konfigurace údržby plánu
Přihlaste se k webu Azure Portal a přejděte na Správce aktualizace Azure.
V části Spravovat vyberte Počítače.
Na pásu karet nahoře vyberte Naplánovat aktualizace .
Na stránce Vytvořit konfiguraci údržby vyberte kartu Události.
Vyberte +Odběr události a vytvořte událost před odesláním.
Na stránce Přidat odběr události zadejte následující podrobnosti: V části Podrobnosti odběru událostí zadejte odpovídající název.
Ponechte schéma jako schéma Event Gridu.
Zadejte název tématu systému pro první událost, kterou vytvoříte v této konfiguraci údržby. Stejný název systémového tématu se automaticky vyplní pro následné události.
V části Typy událostí vyfiltrujte typy událostí a vyberte typy událostí, které chcete odeslat do koncového bodu nebo cíle. Můžete vybrat buď událost před údržbou, nebo událost po údržbě , nebo obojí. Další informace o typech událostí, které jsou specifické pro plánování konfigurací údržby, najdete v tématu Typy událostí Azure.
V části Podrobnosti o koncovém bodu vyberte koncový bod, ze kterého chcete získat odpověď.
Výběrem možnosti Přidat vytvoříte události před vytvořením plánu a publikujte je.
Poznámka:
Ve výše uvedeném toku jsou Webhook a Azure Functions dvěma obslužné rutiny událostí a koncovými body, ze které si můžete vybrat. Když vyberete Přidat, odběr události se nevytvořil, ale přidá se do konfigurace údržby. Odběr událostí se vytvoří spolu s konfigurací plánované údržby.
Podle zde uvedených kroků vytvořte konfiguraci údržby.
# Obtain the Maintenance Configuration ID from Step 1 and assign it to MaintenanceConfigurationResourceId variable
$MaintenanceConfigurationResourceId = "/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
# Use the same Resource Group that you used to create maintenance configuration in Step 1
$ResourceGroupForSystemTopic = "<Resource Group for System Topic>"
$SystemTopicName = "<System topic name>"
$TopicType = "Microsoft.Maintenance.MaintenanceConfigurations"
$SystemTopicLocation = "<System topic location>"
# System topic creation
New-AzEventGridSystemTopic -ResourceGroupName $ResourceGroupForSystemTopic -Name $SystemTopicName -Source $MaintenanceConfigurationResourceId -TopicType $TopicType -Location $SystemTopicLocation
# Event subscription creation
$IncludedEventTypes = @("Microsoft.Maintenance.PreMaintenanceEvent")
# Webhook
$EventSubscriptionName = "PreEventWebhook"
$PreEventWebhookEndpoint = "<Webhook URL>"
$dest = New-AzEventGridWebHookEventSubscriptionDestinationObject -EndpointUrl $PreEventWebhookEndpoint
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Endpoint $PreEventWebhookEndpoint -IncludedEventType $IncludedEventTypes -Destination $dest
# Azure Function
$dest = New-AzEventGridAzureFunctionEventSubscriptionDestinationObject -ResourceId "<Azure Function Resource Id>"
New-AzEventGridSystemTopicEventSubscription -ResourceGroupName $ResourceGroupForSystemTopic -SystemTopicName $SystemTopicName -EventSubscriptionName $EventSubscriptionName -Destination $dest -IncludedEventType $IncludedEventTypes
Podle zde uvedených kroků vytvořte konfiguraci údržby.
SystemTopicName="<System topic name>
# Use the same Resource Group that you used to create maintenance configuration in Step 1
ResourceGroupName="<Resource Group mentioned in Step 1>"
# Obtain the Maintenance Configuration ID from Step 1 and assign it to Source variable
Source="/subscriptions/<subId>/resourceGroups/<Resource group>/providers/Microsoft.Maintenance/maintenanceConfigurations/<Maintenance configuration Name>"
TopicType="Microsoft.Maintenance.MaintenanceConfigurations"
Location="<System topic location> "
# System topic creation
az eventgrid system-topic create --name $SystemTopicName --resource-group $ResourceGroupName --source $Source --topic-type $TopicType --location $Location
# Event subscription creation
IncludedEventTypes='("Microsoft.Maintenance.PreMaintenanceEvent")'
# Webhook
az eventgrid system-topic event-subscription create --name "<Event subscription name>" --resource-group $ResourceGroupName --system-topic-name $SystemTopicName --endpoint-type webhook --endpoint "<webhook URL>" --included-event-types IncludedEventTypes
# Azure Function
az eventgrid system-topic event-subscription create –name "<Event subscription name>" --resource-group $ResourceGroupName --system-topic-name $SystemTopicName --endpoint-type azurefunction --endpoint "<Azure Function ResourceId>" --included-event-types IncludedEventTypes
Podle zde uvedených kroků vytvořte konfiguraci údržby.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Povolené typy událostí – Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Webhook
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
Přihlaste se k webu Azure Portal a přejděte na Správce aktualizace Azure.
V části Spravovat vyberte Počítače, Konfigurace údržby.
Na stránce Konfigurace údržby vyberte konfiguraci údržby, do které chcete přidat před a po události.
Na vybrané stránce Konfigurace údržby v části Nastavení vyberte Události. Případně v části Přehled vyberte kartu Vytvořit událost údržby.
Výběrem možnosti +Odběr události vytvořte událost před údržbou nebo po dokončení údržby.
Na stránce Vytvořit odběr události zadejte následující podrobnosti:
V části Podrobnosti odběru událostí zadejte odpovídající název.
Ponechte schéma jako schéma Event Gridu.
V části Podrobnosti tématu zadejte odpovídající název názvu systémového tématu.
V části Typy událostí vyfiltrujte typy událostí a vyberte typy událostí, které chcete odeslat do koncového bodu nebo cíle. Můžete vybrat mezi událostí před údržbou a událostí po údržbě. Další informace o typech událostí, které jsou specifické pro plánování konfigurací údržby, najdete v tématu Typy událostí Azure.
V části Podrobnosti o koncovém bodu vyberte koncový bod, ze kterého chcete přijmout odpověď.
Výběrem možnosti Vytvořit nakonfigurujte události před a po publikování v existujícím plánu.
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>?api-version=2022-06-15
Povolené typy událostí – Microsoft.Maintenance.PreMaintenanceEvent, Microsoft.Maintenance.PostMaintenanceEvent
Webhook
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15
PUT /subscriptions/<subscription Id>/resourceGroups/<resource group name>/providers/Microsoft.EventGrid/systemTopics/<system topic name>/eventSubscriptions/<Event Subscription name>?api-version=2022-06-15