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 dozvíte, jak nastavit umístění nedoručených oznámení a přizpůsobit nastavení opakování. Informace o těchto funkcích najdete v tématu Doručování a opakování zpráv ve službě Event Grid.
Poznámka
Další informace o doručování zpráv, opakovaných pokusech a nedoručených zprávách najdete v koncepčním článku : Doručování a opakování zpráv ve službě Event Grid.
Nastavení umístění nedoručených oznámení
K nastavení umístění nedoručených oznámení potřebujete účet úložiště pro uchovávání událostí, které se nedají doručit do koncového bodu. Příklady získají ID prostředku existujícího účtu úložiště. Vytvoří odběr událostí, který používá kontejner v daném účtu úložiště pro nedoručovaný koncový bod.
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 vytvoří v tomto kontejneru objekty blob. Názvy objektů blob budou obsahovat název odběru Event Gridu se všemi písmeny velkými písmeny. Pokud je
My-Blob-Subscription
například název předplatného , názvy nedoručených objektů blob budou obsahovatMY-BLOB-SUBSCRIPTION
(myblobcontainer/MY-BLOB-SUBSCRIPTION/2019/8/8/5/111111111-1111-1111-1111-111111111111.json
). Toto chování slouží k ochraně před rozdíly ve zpracování případů mezi službami Azure. - Ve výše uvedeném příkladu
.../2019/8/8/5/...
představuje nenulové polstrované datum a hodinu (UTC):.../YYYY/MM/DD/HH/...
. - Vytvořené nedoručených objektů blob budou obsahovat jednu nebo více událostí v poli, což je důležité chování, které je třeba při zpracování nedoručených písmen zvážit.
portál Azure
Při vytváření odběru událostí můžete povolit nedoručených oznámení na kartě Další funkce , jak je znázorněno na následujícím obrázku. Po povolení funkce zadejte kontejner objektů blob, který bude obsahovat nedoručené události, a předplatné Azure s úložištěm objektů blob.
Volitelně můžete povolit systémově přiřazenou spravovanou identitu nebo identitu přiřazenou uživatelem pro nedoručených dopisů. Spravovaná identita musí být členem role řízení přístupu na základě role (RBAC), která umožňuje zápis událostí do úložiště.
Můžete také povolit nedoručených oznámení a nakonfigurovat nastavení pro existující odběr událostí. Na stránce Odběr událostí vašeho odběru událostí přepněte na kartu Další funkce , abyste viděli nastavení nedoručeného oznámení, jak je znázorněno na následujícím obrázku.
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 nedoručených dopisů vypnout, znovu spusťte příkaz , který vytvoří odběr události, ale nezadá hodnotu pro deadletter-endpoint
. Odběr událostí nemusíte odstraňovat.
Poznámka
Pokud na místním počítači používáte Azure CLI, použijte Azure CLI verze 2.0.56 nebo vyšší. 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 nedoručených dopisů vypnout, znovu spusťte příkaz , který vytvoří odběr události, ale nezadá hodnotu pro DeadLetterEndpoint
. Odběr událostí nemusíte odstraňovat.
Poznámka
Pokud na místním počítači používáte Azure Poweshell, použijte Azure PowerShell verze 1.1.0 nebo vyšší. Stáhněte a nainstalujte nejnovější Azure PowerShell ze služby Azure ke stažení.
Nastavení zásad opakování
Při vytváření odběru Event Gridu můžete nastavit hodnoty, jak dlouho se má Event Grid pokusit událost doručit. Ve výchozím nastavení se Event Grid pokouší 24 hodin (1440 minut) nebo 30krát. Kteroukoli z těchto hodnot můžete nastavit pro svůj odběr Event Gridu. Hodnota time-to-live události musí být celé číslo od 1 do 1440. Hodnota maximálního počtu opakování musí být celé číslo od 1 do 30.
Plán opakování se nedá nakonfigurovat.
portál Azure
Při vytváření odběru událostí můžete nakonfigurovat nastavení zásad opakování na kartě Další funkce .
Můžete také nakonfigurovat nastavení zásad opakování pro existující odběr událostí. Na stránce Odběr událostí vašeho odběru událostí přepněte na kartu Další funkce , kde se zobrazí nastavení zásad opakování, jak je znázorněno na následujícím obrázku.
Azure CLI
Pokud chcete nastavit hodnotu Time-to-Live události na jinou hodnotu 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-ttl
max-deliver-attempts
, Služba Event Grid použije k určení, kdy se má zastavit doručování událostí, k vypršení platnosti první. Pokud například nastavíte 30 minut jako hodnotu TTL (Time to Live) a 5 maximálních pokusů o doručení. Pokud se událost nedoručí ani po 30 minutách nebo se nedoručí ani po 5 pokusech (podle toho, co nastane dříve), událost se nedoručí. Pokud nastavíte maximální počet pokusů o doručení na 10, s ohledem na plán exponenciálních opakování dojde k maximálnímu počtu pokusů o doručení před dosažením hodnoty TTL 30 minut, takže nastavení maximálního počtu pokusů na 10 v tomto případě nebude mít žádný vliv a události budou nedoručené po 30 minutách.
PowerShell
Pokud chcete nastavit hodnotu Time-to-Live události na jinou hodnotu 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-ttl
max-deliver-attempts
, Služba Event Grid použije k určení, kdy se má zastavit doručování událostí, k vypršení platnosti první. Pokud například nastavíte 30 minut jako hodnotu TTL (Time to Live) a 5 maximálních pokusů o doručení. Pokud se událost nedoručí ani po 30 minutách nebo se nedoručí ani po 5 pokusech (podle toho, co nastane dříve), událost se nedoručí. Pokud nastavíte maximální počet pokusů o doručení na 10, s ohledem na plán exponenciálních opakování dojde k maximálnímu počtu pokusů o doručení před dosažením hodnoty TTL 30 minut, takže nastavení maximálního počtu pokusů na 10 v tomto případě nebude mít žádný vliv a události budou nedoručené po 30 minutách.
Další kroky
- Ukázkovou aplikaci, která ke zpracování nedoručených událostí používá aplikaci funkcí Azure, najdete v tématu Azure Event Grid ukázky nedoručených dopisů pro .NET.
- Informace o doručování a opakování událostí najdete v tématu Doručování a opakování zpráv služby Event Grid.
- Úvod do Event Gridu najdete v článku Informace o službě Event Grid.
- Pokud chcete rychle začít používat Službu Event Grid, přečtěte si téma Vytváření a směrování vlastních událostí pomocí Azure Event Grid.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro