Kurz: Reakce na události azure Service Bus přijaté prostřednictvím Azure Event Grid pomocí Azure Logic Apps

V tomto kurzu zjistíte, jak reagovat na události Azure Service Bus, které jsou přijímány prostřednictvím Azure Event Grid pomocí Azure Logic Apps.

Požadavky

Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.

Vytvoření oboru názvů Service Busu

Postupujte podle pokynů v tomto kurzu: Rychlý start: Pomocí Azure Portal vytvořte téma Service Bus odběry tématu a proveďte následující úlohy:

  • Vytvořte obor názvů Service Bus Premium.
  • Získejte připojovací řetězec.
  • Vytvořte Service Bus téma.
  • Vytvořte odběr tématu. V tomto kurzu potřebujete pouze jedno předplatné, takže není nutné vytvářet předplatná S2 a S3.

Odesílání zpráv do Service Bus tématu

V tomto kroku použijete ukázkovou aplikaci k odesílání zpráv do Service Bus, které jste vytvořili v předchozím kroku.

  1. Naklonujte GitHub azure-service-bus nebo stáhněte soubor zip a extrahujte z něj soubory.

  2. V Visual Studio přejděte do složky \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 a otevřete soubor SBEventGridIntegration.sln.

  3. V okně Průzkumník řešení rozbalte projekt MessageSender a vyberte Soubor Program.cs.

  4. Nahraďte <SERVICE BUS NAMESPACE - CONNECTION STRING> připojovacím řetězcem pro Service Bus oboru názvů <TOPIC NAME> a názvem tématu.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Sestavte a spusťte program pro odeslání 5 testovacích zpráv ( const int numberOfMessages = 5; ) do Service Bus tématu.

    Výstup konzolové aplikace

Příjem zpráv pomocí Logic Apps

V tomto kroku vytvoříte aplikaci logiky Azure, která přijímá události Service Bus prostřednictvím Azure Event Grid.

  1. Vytvořte aplikaci logiky v Azure Portal.
    1. Vyberte + Vytvořit prostředek, vyberte Integrace a pak vyberte Aplikace logiky.
    2. Vyberte své předplatné Azure.
    3. Jako Skupinu prostředků vyberte Použít existující a vyberte skupinu prostředků, kterou jste použili pro jiné prostředky (například funkce Azure, Service Bus oboru názvů), kterou jste vytvořili dříve.
    4. Jako Typ vyberte Spotřeba.
    5. Zadejte název aplikace logiky.
    6. Pro aplikaci logiky vyberte Oblast.
    7. Vyberte Zkontrolovat a vytvořit.
    8. Na stránce Zkontrolovat a vytvořit vyberte Vytvořit a vytvořte aplikaci logiky.
    9. Na stránce Nasazení dokončeno vyberte Přejít k prostředku.
  2. Na stránce návrháře Logic Apps v části Šablony vyberte Prázdná aplikace logiky.

Přidání kroku přijímání zpráv z Service Bus prostřednictvím Event Grid

  1. V návrháři proveďte následující kroky:
    1. Vyhledejte Event Grid.

    2. Vyberte Když dojde k události prostředku – Azure Event Grid.

      Logic Apps Návrhář – výběr Event Grid triggeru

  2. Vyberte Přihlásit se, zadejte své přihlašovací údaje Azure a vyberte Povolit přístup.
  3. Na stránce Když dojde k události prostředku proveďte následující kroky:
    1. Vyberte své předplatné Azure.

    2. Jako Typ prostředku vyberte Microsoft.ServiceBus.Namespaces.

    3. V poli Název prostředku vyberte svůj Service Bus názvů.

    4. Vyberte Přidat nový parametr, vyberte Filtr přípon a přesuňte fokus mimo rozevírací seznam.

      Obrázek znázorňující přidání filtru přípon

    5. Jako Filtr přípon zadejte název vašeho předplatného Service Bus tématu. Logic Apps Designer – konfigurace události

  4. V návrháři vyberte + Nový krok a proveďte následující kroky:
    1. Vyhledejte Service Bus.

    2. Vyberte Service Bus v seznamu.

    3. V seznamu Akce vyberte Získat zprávy.

    4. Vyberte Získat zprávy z odběru tématu (peek-lock).

      Logic Apps Designer – akce získat zprávy

    5. Zadejte název připojení. Příklad: Získání zpráv z odběru tématu a výběr oboru názvů Service Bus.

      Logic Apps Návrhář – vyberte obor názvů Service Bus.

    6. Vyberte RootManageSharedAccessKey a pak vyberte Vytvořit.

      Logic Apps Designer – vyberte sdílený přístupový klíč.

    7. Vyberte své téma a předplatné.

      Snímek obrazovky znázorňuje, kde vyberete téma a předplatné

Přidání kroku pro zpracování a dokončení přijatých zpráv

V tomto kroku přidáte kroky k odeslání přijaté zprávy e-mailem a pak tuto zprávu dokončíte. Ve skutečném scénáři zpracujete zprávu v aplikaci logiky před dokončením zprávy.

Přidání smyčky foreach

  1. Vyberte + Nový krok.

  2. Vyhledejte a pak vyberte Ovládací prvek.

    Obrázek znázorňující výběr kategorie Ovládací prvek

  3. V seznamu Akce vyberte Pro každý.

    Obrázek znázorňující výběr možnosti Pro každý ovládací prvek

  4. V části Vyberte výstup z předchozích kroků (v případě potřeby klikněte do textového pole) vyberte Text v části Získat zprávy z odběru tématu (peek-lock).

    Obrázek znázorňující výběr vstupu pro for each

Přidání kroku do smyčky foreach pro odeslání e-mailu s textem zprávy

  1. Ve smyčce For Each vyberte Přidat akci.

    Obrázek znázorňující výběr tlačítka přidat akci do smyčky for each

  2. Do textového pole Prohledat konektory a akce zadejte Office 365.

  3. Ve Office 365 Outlook hledání vyberte další možnosti.

  4. V seznamu akcí vyberte Odeslat e-mail (V2).

  5. V okně Odeslat e-mail (V2) postupujte takto:

  6. V textovém poli vyberte Text a postupujte takto:

    1. Do pole Na zadejte e-mailovou adresu.

    2. Jako Předmět zadejte Zpráva přijatá Service Bus odběru tématu.

    3. Přepněte na Výraz.

    4. Zadejte následující výraz:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Vyberte OK.

      Obrázek znázorňující výraz pro text aktivity Odeslat e-mail

Přidání další akce do smyčky foreach pro dokončení zprávy

  1. Ve smyčce For Each vyberte Přidat akci.

    1. V Service Bus vyberte Poslední.

    2. V seznamu akcí vyberte Complete the message in a topic subscription (Dokončit zprávu v odběru tématu).

    3. Vyberte své Service Bus téma.

    4. Vyberte předplatné tématu.

    5. V části Uzamknout token zprávy vyberte v dynamickém obsahu možnost Zamknout token.

      Logic Apps Designer – dokončení zprávy

  2. Na panelu nástrojů na panelu nástrojů vyberte Uložit Logic Apps Návrhář a uložte aplikaci logiky.

    Uložení aplikace logiky

Otestování aplikace

  1. Pokud jste do tématu ještě neposlali testovací zprávy, postupujte podle pokynů v části Odesílání zpráv do Service Bus tématu a odešlete zprávy do tématu.

  2. Přepněte na stránku Přehled vaší aplikace logiky a pak v dolním podokně přepněte na kartu Historie běhů. Uvidíte, že aplikace logiky spouští zprávy odeslané do tématu. Než se aplikace logiky spustí, může to několik minut trvat. Na panelu nástrojů vyberte Aktualizovat a aktualizujte stránku.

    Logic Apps Designer – spuštění aplikace logiky

  3. Výběrem spuštění aplikace logiky zobrazíte podrobnosti. Všimněte si, že ve smyčce for zpracuje 5 zpráv.

    Podrobnosti o spuštění aplikace logiky

  4. Měli byste dostat e-mail pro každou zprávu přijatou aplikací logiky.

Řešení potíží

Pokud po nějakém čekání a aktualizaci neuvidíte žádná volání, postupujte následovně:

  1. Potvrďte, že zprávy dosáhly Service Bus tématu. Podívejte se na čítač příchozích zpráv na Service Bus téma. V tomto případě jsem spouštěl aplikaci MessageSender dvakrát, takže se u každého spuštění zobrazí 10 zpráv (5 zpráv).

    Service Bus Stránka Téma – příchozí zprávy

  2. Ověřte, že v předplatném služby nejsou Service Bus zprávy. Pokud na této stránce nevidíte žádné události, ověřte, že se na stránce předplatného Service Bus nezminí žádný počet aktivních zpráv. Pokud je číslo tohoto čítače větší než nula, zprávy v odběru se z nějakého důvodu předá do funkce obslužné rutiny (obslužná rutina odběru událostí). Ověřte, že jste odběr událostí nastavili správně.

    počet aktivních zpráv v předplatném Service Bus

  3. doručené události se zobrazí také na stránce události oboru názvů Service Bus.

    Události doručené stránky událostí

  4. Můžete také vidět, že se události doručují na stránce odběr události . Na tuto stránku se dostanete tak, že na stránce události vyberete odběr události.

    Události doručené stránky odběru události

Další kroky