Locatie van onbestelbare letters en beleid voor opnieuw proberen instellen
Wanneer u een gebeurtenisabonnement maakt, kunt u de instellingen voor de levering van gebeurtenissen aanpassen. In dit artikel wordt beschreven hoe u een locatie voor een niet-klaar bericht in kunt stellen en hoe u de instellingen voor opnieuw proberen kunt aanpassen. Zie voor meer informatie over deze functies Event Grid berichtbezorging en opnieuw proberen.
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Raadpleeg Azure PowerShell installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Notitie
Zie het conceptuele artikel: Event Grid berichtbezorging en opnieuw proberenvoor meer informatie over berichtbezorging, nieuwe Event Grid en dead-lettering.
Locatie van inlopende brief instellen
Als u een locatie voor een niet-bezorgde brief wilt instellen, hebt u een opslagaccount nodig voor het bewaren van gebeurtenissen die niet aan een eindpunt kunnen worden geleverd. In de voorbeelden wordt de resource-id van een bestaand opslagaccount opgeslagen. Ze maken een gebeurtenisabonnement dat gebruikmaakt van een container in dat opslagaccount voor het dead-letter-eindpunt.
Notitie
- Maak een opslagaccount en een blobcontainer in de opslag voordat u opdrachten in dit artikel gaat uitvoeren.
- De Event Grid service maakt blobs in deze container. De namen van blobs hebben de naam van het Event Grid met alle letters in hoofdletters. Als de naam van het abonnement bijvoorbeeld My-Blob-Subscription is, hebben de namen van de blobs met een inlopende letter MY-BLOB-SUBSCRIPTION (myblobcontainer/MY-BLOB-SUBSCRIPTION/2019/8/8/5/111111111-1111-1111-1111-111111111111.jsaan). Dit gedrag is om u te beschermen tegen verschillen in case-verwerking tussen Azure-services.
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
Als u dead-lettering wilt uitschakelen, moet u de opdracht opnieuw uitvoeren om het gebeurtenisabonnement te maken, maar geeft u geen waarde op voor deadletter-endpoint . U hoeft het gebeurtenisabonnement niet te verwijderen.
Notitie
Als u werkt met Azure CLI op uw lokale computer, gebruikt u Azure CLI versie 2.0.56 of hoger. Zie De Azure CLI installeren voor instructies over het installeren van de meest recente versie van 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"
Als u dead-lettering wilt uitschakelen, moet u de opdracht opnieuw uitvoeren om het gebeurtenisabonnement te maken, maar geeft u geen waarde op voor DeadLetterEndpoint . U hoeft het gebeurtenisabonnement niet te verwijderen.
Notitie
Als u Azure Poweshell op uw lokale computer gebruikt, gebruikt u Azure PowerShell versie 1.1.0 of hoger. Download en installeer de meest recente Azure PowerShell van Azure downloads.
Beleid voor opnieuw proberen instellen
Wanneer u een Event Grid maakt, kunt u waarden instellen voor hoe lang Event Grid de gebeurtenis moet leveren. Standaard probeert Event Grid 24 uur (1440 minuten) of 30 keer. U kunt een van deze waarden instellen voor uw Event Grid-abonnement. De waarde voor time-to-live van de gebeurtenis moet een geheel getal tussen 1 en 1440 zijn. De waarde voor het maximum aantal nieuwe proberen moet een geheel getal tussen 1 en 30 zijn.
U kunt het schema voor opnieuw proberen niet configureren.
Azure CLI
Als u de time-to-live van de gebeurtenis wilt instellen op een andere waarde dan 1440 minuten, gebruikt u:
az eventgrid event-subscription create \
-g gridResourceGroup \
--topic-name <topic_name> \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--event-ttl 720
Als u het maximum aantal nieuwe proberen wilt instellen op een andere waarde dan 30, gebruikt u:
az eventgrid event-subscription create \
-g gridResourceGroup \
--topic-name <topic_name> \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--max-delivery-attempts 18
Notitie
Als u zowel als instelt, Event Grid eerst verlopen om te event-ttl bepalen wanneer de levering van gebeurtenissen moet worden max-deliver-attempts gestopt. Als u bijvoorbeeld 30 minuten instelt als time-to-live (TTL) en 10 maximale bezorgingspogingen. Wanneer een gebeurtenis na 30 minuten (of) niet wordt bezorgd na 10 pogingen, wat er het eerst gebeurt, wordt de gebeurtenis in een dead-letter bezorgd.
PowerShell
Als u de time-to-live van de gebeurtenis wilt instellen op een andere waarde dan 1440 minuten, gebruikt u:
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-EventTtl 720
Als u het maximum aantal nieuwe proberen wilt instellen op een andere waarde dan 30, gebruikt u:
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-MaxDeliveryAttempt 18
Notitie
Als u zowel als instelt, Event Grid eerst verlopen om te event-ttl bepalen wanneer de levering van gebeurtenissen moet worden max-deliver-attempts gestopt. Als u bijvoorbeeld 30 minuten instelt als time-to-live (TTL) en 10 maximale bezorgingspogingen. Wanneer een gebeurtenis na 30 minuten (of) niet wordt bezorgd na 10 pogingen, wat er het eerst gebeurt, wordt de gebeurtenis in een dead-letter bezorgd.
Volgende stappen
- Zie Voor een voorbeeldtoepassing die gebruikmaakt van een Azure Function-app voor het verwerken van dead letter-gebeurtenissen, Azure Event Grid Dead Letter Samples for .NET.
- Voor informatie over gebeurtenisbezorging en nieuwe Event Grid berichtbezorging en opnieuw proberen.
- Zie Een inleiding tot Event Grid voor een inleiding tot Event Grid.
- Zie Aangepaste gebeurtenissen maken en Event Grid om snel aan de slag te gaan met Azure Event Grid.