Konfigurera plats för obeställbara meddelanden och återförsöksprincip
När du skapar en händelseprenumeration kan du anpassa inställningarna för händelseleverans. Den här artikeln visar hur du ställer in en plats för dead letter och anpassar inställningarna för återförsök. Information om dessa funktioner finns i Event Grid leverans av meddelanden och försök igen.
Anteckning
I den här artikeln används Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för att interagera med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Anteckning
Mer information om leverans av meddelanden, återförsök och dead-lettering finns i den konceptuella artikeln: skicka Event Grid och försök igen.
Ange plats för dead-letter
Om du vill ange en plats för en oställd bokstav behöver du ett lagringskonto för att lagra händelser som inte kan levereras till en slutpunkt. Exemplen hämtar resurs-ID:t för ett befintligt lagringskonto. De skapar en händelseprenumeration som använder en container i lagringskontot för slutpunkten med obokstav.
Anteckning
- Skapa ett lagringskonto och en blobcontainer i lagringen innan du kör kommandon i den här artikeln.
- Tjänsten Event Grid skapar blobar i den här containern. Namnen på blobar får namnet på prenumerationen Event Grid med alla bokstäver i versaler. Om namnet på prenumerationen till exempel är My-Blob-Subscription får namnen på de obeskrivta blobarna MY-BLOB-SUBSCRIPTION (myblobcontainer/MY-BLOB-SUBSCRIPTION/2019/8/8/5/111111111-1111-1111-1111-111111111111.json). Det här beteendet är för att skydda mot skillnader i ärendehantering mellan Azure-tjänster.
Azure CLI
containername=testcontainer
topicid=$(az eventgrid topic show --name demoTopic -g gridResourceGroup --query id --output tsv)
storageid=$(az storage account show --name demoStorage --resource-group gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--deadletter-endpoint $storageid/blobServices/default/containers/$containername
Om du vill inaktivera dead-lettering kör du kommandot igen för att skapa händelseprenumerationen men anger inget värde för deadletter-endpoint . Du behöver inte ta bort händelseprenumerationen.
Anteckning
Om du använder Azure CLI på din lokala dator ska du använda Azure CLI version 2.0.56 eller större. Anvisningar om hur du installerar den senaste versionen av Azure CLI finns i Installera Azure CLI.
PowerShell
$containername = "testcontainer"
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
$storageid = (Get-AzStorageAccount -ResourceGroupName gridResourceGroup -Name demostorage).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-DeadLetterEndpoint "$storageid/blobServices/default/containers/$containername"
Om du vill inaktivera dead-lettering kör du kommandot igen för att skapa händelseprenumerationen men anger inget värde för DeadLetterEndpoint . Du behöver inte ta bort händelseprenumerationen.
Anteckning
Om du använder Azure Poweshell på den lokala datorn använder du Azure PowerShell version 1.1.0 eller senare. Ladda ned och installera den senaste Azure PowerShell från Azure.
Ange återförsöksprincip
När du skapar Event Grid prenumeration kan du ange värden för hur länge Event Grid ska försöka leverera händelsen. Som standard Event Grid 24 timmar (1 440 minuter) eller 30 gånger. Du kan ange något av dessa värden för din Event Grid-prenumeration. Värdet för time-to-live-händelser måste vara ett heltal från 1 till 1440. Värdet för maximalt antal återförsök måste vara ett heltal från 1 till 30.
Du kan inte konfigurera schemat för återförsök.
Azure CLI
Om du vill ställa in time to live för händelsen till ett annat värde än 1 440 minuter använder du:
az eventgrid event-subscription create \
-g gridResourceGroup \
--topic-name <topic_name> \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--event-ttl 720
Om du vill ange max antal återförsök till ett annat värde än 30 använder du:
az eventgrid event-subscription create \
-g gridResourceGroup \
--topic-name <topic_name> \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--max-delivery-attempts 18
Anteckning
Om du anger både och Event Grid den första för event-ttl max-deliver-attempts att avgöra när händelseleveransen ska stoppas. Om du till exempel ställer in 30 minuter som TTL (Time To Live) och 10 maximala leveransförsök. När en händelse inte levereras efter 30 minuter (eller) inte levereras efter 10 försök, beroende på vilket som inträffar först, kommer händelsen att skickas utan bokstav.
PowerShell
Om du vill ställa in time to live för händelsen till ett annat värde än 1 440 minuter använder du:
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-EventTtl 720
Om du vill ange max antal återförsök till ett annat värde än 30 använder du:
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-MaxDeliveryAttempt 18
Anteckning
Om du anger både och Event Grid den första för event-ttl max-deliver-attempts att avgöra när händelseleveransen ska stoppas. Om du till exempel ställer in 30 minuter som TTL (Time To Live) och 10 maximala leveransförsök. När en händelse inte levereras efter 30 minuter (eller) inte levereras efter 10 försök, beroende på vilket som inträffar först, kommer händelsen att skickas utan bokstav.
Nästa steg
- Ett exempelprogram som använder en Azure Function-app för att bearbeta händelser med dead letter finns i Azure Event Grid exempel på dead letter för .NET.
- Information om händelseleverans och återförsök finns i Event Grid och försök igen.
- En introduktion till Event Grid finns i Om Event Grid.
- Information om hur du snabbt kommer igång Event Grid finns i Skapa och dirigera anpassade händelser med Azure Event Grid.