Proč ServiceBusTrigger opakování bez Chyby?

0

Otázka

Mám ServiceBusTrigger pro ServiceBusQueues.QUEUE_NAME enter image description here

    [Function(nameof(QueueProcess))]
    public async Task QueueProcess([ServiceBusTrigger(ServiceBusQueues.QUEUE_NAME, Connection = "ConnectionString")] string message)
    {
        try
        {
            Console.Write(message); 
        }
        catch (Exception ex)
        {
            throw;
        } 
    }

Když jsem poslat zprávu, tam to opakování je 10 krát a přesune zprávu do Dead-Letter.
To není chyba, funkce skončí úspěšně.
Vím, že takovéto chování by se mohlo stát, protože z důvodů popsaných pod Max Dodání Počítat.

Prosím, naznačují, co by mohlo způsobit ServiceBusTrigger dokončit zprávu a mějte opakováním to i když tam žádná chyba?

1

Nejlepší odpověď

1

V ServiceBusTrigger můžeme nastavit automatické Dokončování jako Pravda. To nám pomůže v dokončení úkolu, aniž by jej k deadletterqueue. Ve většině případů to bude jako výchozí.

Když je nastaveno na false, jste zodpovědný za volání MessageReceiver metod k dokončení, opustit, nebo deadletter zpráva. Pokud je vyvolána výjimka (a žádný z MessageReceiver metody se nazývají), pak zámek zůstává. Jakmile zámek vyprší, zpráva je znovu ve frontě s DeliveryCount zvýšen a zámek se automaticky obnovuje.

Potřebujeme ověřit, že jsme nainstalovali rozšíření jako "Microsoft.Azure.Pro webjobs.Rozšíření.ServiceBus" je více než 4.3.0

Tady, funkce vyvolá, bude se snažit zpracovat stejnou zprávu dvakrát a na potřetí to dát zprávu do Dead Letter Queue (DLQ). Můžete ručně zkontrolovat obsah DLQ prostřednictvím Azure Portálu. enter image description here

Viz blog pro více pochopení v řízení servicebustrigger a o nastavení hostitele

2021-11-24 10:04:53

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................