Sdílet prostřednictvím


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-Subscriptionnapříklad název předplatného , názvy objektů blob nedoručených písmen budou mít MY-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ě.

Snímek obrazovky znázorňující konfiguraci nedoručených dopisů odběru událostí

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.

Snímek obrazovky znázorňující konfiguraci nedoručených písmen stávajícího odběru událostí

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 .

Snímek obrazovky znázorňující konfiguraci zásad opakování odběru událostí

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.

Snímek obrazovky znázorňující konfiguraci zásad opakování existujícího odběru událostí

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