Nastavení umístění pro nedoručené zprávy a zásady opakování
Při vytváření odběru událostí můžete přizpůsobit nastavení pro doručování událostí. V tomto článku se popisuje, jak nastavit umístění pro neschůdné dopisy a přizpůsobit nastavení opakování. Informace o těchto funkcích najdete v tématu Event Grid zpráv a zkuste to znovu.
Poznámka
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Poznámka
Další informace o doručování zpráv, opakováních pokusů a zachytávání zpráv najdete v koncepčním článku: Event Grid zpráv a opakování.
Nastavení umístění pro dead-letter
Pokud chcete nastavit umístění pro nezáruční zprávy, potřebujete účet úložiště pro uchovávání událostí, které nelze doručit do koncového bodu. V příkladech se načtou ID prostředku existujícího účtu úložiště. Vytvoří odběr události, který používá kontejner v tomto účtu úložiště pro koncový bod pro dead-letter.
Poznámka
- Před spuštěním příkazů v tomto článku vytvořte v úložišti účet úložiště a kontejner objektů blob.
- Služba Event Grid objekty blob v tomto kontejneru. Názvy objektů blob budou mít název předplatného Event Grid všechna písmena velkými písmeny. Pokud je například název předplatného My-Blob-Subscription, názvy objektů blob s neschybových dat budou mít my-BLOB-SUBSCRIPTION (myblobcontainer/MY-BLOB-SUBSCRIPTION/2019/8/8/5/111111111-1111-1111-1111-111111111111.json). Toto chování je ochrana před rozdíly ve zpracování případů mezi službami Azure.
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
Pokud chcete funkci dead-lettering vypnout, spusťte příkaz znovu, aby se vytvořil odběr události, ale nezadáte hodnotu pro deadletter-endpoint . Odběr událostí nemusíte odstraňovat.
Poznámka
Pokud používáte Azure CLI na místním počítači, použijte Azure CLI verze 2.0.56 nebo novější. Pokyny k instalaci nejnovější verze Azure CLI najdete v tématu Instalace 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"
Pokud chcete funkci dead-lettering vypnout, spusťte příkaz znovu, aby se vytvořil odběr události, ale nezadáte hodnotu pro DeadLetterEndpoint . Odběr událostí nemusíte odstraňovat.
Poznámka
Pokud používáte Azure Poweshell na místním počítači, použijte Azure PowerShell verze 1.1.0 nebo vyšší. Stáhněte a nainstalujte si nejnovější verzi Azure PowerShell stažení Azure.
Nastavení zásad opakování
Při vytváření Event Grid předplatného můžete nastavit hodnoty pro dobu, Event Grid se má pokusit o doručení události. Ve výchozím nastavení Event Grid 24 hodin (1 440 minut) nebo 30krát. Pro odběr Event Gridu můžete nastavit některou z těchto hodnot. Hodnota hodnoty time-to-live události musí být celé číslo od 1 do 1440. Hodnota pro maximální počet opakování musí být celé číslo od 1 do 30.
Plán opakování nemůžete nakonfigurovat.
Azure CLI
Pokud chcete nastavit hodnotu TT (Time to Live) události na jinou než 1440 minut, použijte:
az eventgrid event-subscription create \
-g gridResourceGroup \
--topic-name <topic_name> \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--event-ttl 720
Pokud chcete nastavit maximální počet opakování na jinou hodnotu než 30, použijte:
az eventgrid event-subscription create \
-g gridResourceGroup \
--topic-name <topic_name> \
--name <event_subscription_name> \
--endpoint <endpoint_URL> \
--max-delivery-attempts 18
Poznámka
Pokud nastavíte i , Event Grid použije první k vypršení platnosti, aby se určilo, kdy event-ttl se má zastavit doručování max-deliver-attempts událostí. Pokud například nastavíte hodnotu TTL (Time to Live) na 30 minut a 10 pokusů o doručení maximálně. Pokud se událost po 30 minutách (nebo) doručí až po 10 pokusech (podle toho, co nastane jako první), událost se nezasíná.
PowerShell
Pokud chcete nastavit hodnotu TT (Time to Live) události na jinou než 1440 minut, použijte:
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-EventTtl 720
Pokud chcete nastavit maximální počet opakování na jinou hodnotu než 30, použijte:
$topicid = (Get-AzEventGridTopic -ResourceGroupName gridResourceGroup -Name demoTopic).Id
New-AzEventGridSubscription `
-ResourceId $topicid `
-EventSubscriptionName <event_subscription_name> `
-Endpoint <endpoint_URL> `
-MaxDeliveryAttempt 18
Poznámka
Pokud nastavíte i , Event Grid použije první k vypršení platnosti, aby se určilo, kdy event-ttl se má zastavit doručování max-deliver-attempts událostí. Pokud například nastavíte hodnotu TTL (Time to Live) na 30 minut a 10 pokusů o doručení maximálně. Pokud se událost po 30 minutách (nebo) doručí až po 10 pokusech (podle toho, co nastane jako první), událost se nezasíná.
Další kroky
- Ukázkovou aplikaci, která používá aplikaci funkcí Azure ke zpracování událostí s Azure Event Grid, najdete v tématu Azure Event Grid pro .NET.
- Informace o doručení události a opakování pokusů najdete v Event Grid zpráv a zkuste to znovu.
- Úvod do Event Gridu najdete v článku Informace o službě Event Grid.
- Pokud chcete rychle začít používat Event Grid, podívejte se na vytvoření a směrování vlastních událostí pomocí Azure Event Grid.