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 dopisů a přizpůsobit nastavení opakování. Informace o těchtofunkcích
Poznámka:
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í zpráv event Gridu a opakování.
Nastavení umístění nedoručených dopisů
Pokud chcete nastavit umístění nedoručených dopisů, 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 koncový bod nedoručených písmen.
Poznámka:
- Před spuštěním příkazů v tomto článku vytvořte účet úložiště a kontejner objektů blob v úložišti.
- Služba Event Grid vytvoří v tomto kontejneru objekty blob. Názvy objektů blob budou mít 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 objektů blob nedoručených písmen budou mítMY-BLOB-SUBSCRIPTION
(myblobcontainer/MY-BLOB-SUBSCRIPTION/2019/8/8/5/111111111-1111-1111-1111-111111111111.json
). Toto chování je chránit před rozdíly v případě zpracování služeb Azure. - V příkladu výše
.../2019/8/8/5/...
představuje nenulové datum a hodinu (UTC):.../YYYY/MM/DD/HH/...
- Vytvořené objekty blob nedoručených písmen budou obsahovat jednu nebo více událostí v poli, což je důležité chování při zpracování neaktivních písmen.
portál Azure
Při vytváření odběru událostí můžete povolit nedoručení 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 události s nedoručeným písmenem a předplatné Azure, které má úložiště objektů blob.
Volitelně můžete povolit spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem pro nedoručované dopisy. 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čované dopisy a nakonfigurovat nastavení pro stávající odběr událostí. Na stránce Odběr události vašeho odběru událostí přepněte na kartu Další funkce, abyste viděli nastavení nedoručených písmen, 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, spusťte příkaz znovu a vytvořte odběr události, ale nezadávejte hodnotu .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 nedoručených dopisů vypnout, spusťte příkaz znovu a vytvořte odběr události, ale nezadávejte hodnotu .DeadLetterEndpoint
Odběr událostí nemusíte odstraňovat.
Poznámka:
Pokud používáte Azure PowerShell na místním počítači, použijte Azure PowerShell verze 1.1.0 nebo novější. Stáhněte a nainstalujte nejnovější Azure PowerShell ze stažených souborů Azure.
Nastavení zásad opakování
Při vytváření odběru služby Event Grid můžete nastavit hodnoty, jak dlouho se má Event Grid pokusit událost doručit. Ve výchozím nastavení se Event Grid pokusí o 24 hodin (1440 minut) nebo 30krát. Pro odběr Event Gridu můžete nastavit některou z těchto hodnot. Hodnota pro čas na živé 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í nelze 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 stávající odběr událostí. Na stránce Odběr událostí předplatného události přepněte na kartu Další funkce a zobrazte 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 obě event-ttl
a max-deliver-attempts
, Event Grid použije první k vypršení platnosti k určení, kdy zastavit doručování událostí. 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čí po 30 minutách (nebo) po 5 pokusech, podle toho, co nastane dříve, událost je nedoručovaná. Pokud nastavíte maximální početpokusůch právech( (10), nastavíte-
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 obě event-ttl
a max-deliver-attempts
, Event Grid použije první k vypršení platnosti k určení, kdy zastavit doručování událostí. 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čí po 30 minutách (nebo) po 5 pokusech, podle toho, co nastane dříve, událost je nedoručovaná. Pokud nastavíte maximální početpokusůch právech( (10), nastavíte-
Další kroky
- Ukázková aplikace, která k zpracování událostí nedoručených dopisů používá aplikaci Funkcí Azure, najdete v tématu Ukázky nedoručených dopisů služby Azure Event Grid pro .NET.
- Informace o doručení a opakování událostí najdete v event Gridu pro doručování zpráv a opakování.
- Úvod do Event Gridu najdete v článku Informace o službě Event Grid.
- Pokud chcete rychle začít používat Event Grid, přečtěte si téma Vytváření a směrování vlastních událostí pomocí Služby Azure Event Grid.