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.
Naklonujte GitHub azure-service-bus nebo stáhněte soubor zip a extrahujte z něj soubory.
V Visual Studio přejděte do složky \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 a otevřete soubor SBEventGridIntegration.sln.
V okně Průzkumník řešení rozbalte projekt MessageSender a vyberte Soubor Program.cs.
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>";Sestavte a spusťte program pro odeslání 5 testovacích zpráv (
const int numberOfMessages = 5;) do Service Bus tématu.
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.
- Vytvořte aplikaci logiky v Azure Portal.
- Vyberte + Vytvořit prostředek, vyberte Integrace a pak vyberte Aplikace logiky.
- Vyberte své předplatné Azure.
- 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.
- Jako Typ vyberte Spotřeba.
- Zadejte název aplikace logiky.
- Pro aplikaci logiky vyberte Oblast.
- Vyberte Zkontrolovat a vytvořit.
- Na stránce Zkontrolovat a vytvořit vyberte Vytvořit a vytvořte aplikaci logiky.
- Na stránce Nasazení dokončeno vyberte Přejít k prostředku.
- 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
- V návrháři proveďte následující kroky:
Vyhledejte Event Grid.
Vyberte Když dojde k události prostředku – Azure Event Grid.

- Vyberte Přihlásit se, zadejte své přihlašovací údaje Azure a vyberte Povolit přístup.
- Na stránce Když dojde k události prostředku proveďte následující kroky:
Vyberte své předplatné Azure.
Jako Typ prostředku vyberte Microsoft.ServiceBus.Namespaces.
V poli Název prostředku vyberte svůj Service Bus názvů.
Vyberte Přidat nový parametr, vyberte Filtr přípon a přesuňte fokus mimo rozevírací seznam.
Jako Filtr přípon zadejte název vašeho předplatného Service Bus tématu.

- V návrháři vyberte + Nový krok a proveďte následující kroky:
Vyhledejte Service Bus.
Vyberte Service Bus v seznamu.
V seznamu Akce vyberte Získat zprávy.
Vyberte Získat zprávy z odběru tématu (peek-lock).

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.

Vyberte RootManageSharedAccessKey a pak vyberte Vytvořit.

Vyberte své 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
Vyberte + Nový krok.
Vyhledejte a pak vyberte Ovládací prvek.
V seznamu Akce vyberte Pro každý.
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).
Přidání kroku do smyčky foreach pro odeslání e-mailu s textem zprávy
Ve smyčce For Each vyberte Přidat akci.
Do textového pole Prohledat konektory a akce zadejte Office 365.
Ve Office 365 Outlook hledání vyberte další možnosti.
V seznamu akcí vyberte Odeslat e-mail (V2).
V okně Odeslat e-mail (V2) postupujte takto:
V textovém poli vyberte Text a postupujte takto:
Do pole Na zadejte e-mailovou adresu.
Jako Předmět zadejte Zpráva přijatá Service Bus odběru tématu.
Přepněte na Výraz.
Zadejte následující výraz:
base64ToString(items('For_each')?['ContentData'])Vyberte OK.
Přidání další akce do smyčky foreach pro dokončení zprávy
Ve smyčce For Each vyberte Přidat akci.
V Service Bus vyberte Poslední.
V seznamu akcí vyberte Complete the message in a topic subscription (Dokončit zprávu v odběru tématu).
Vyberte své Service Bus téma.
Vyberte předplatné tématu.
V části Uzamknout token zprávy vyberte v dynamickém obsahu možnost Zamknout token.

Na panelu nástrojů na panelu nástrojů vyberte Uložit Logic Apps Návrhář a uložte aplikaci logiky.
Otestování aplikace
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.
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.

Výběrem spuštění aplikace logiky zobrazíte podrobnosti. Všimněte si, že ve smyčce for zpracuje 5 zpráv.
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ě:
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).
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ě.
doručené události se zobrazí také na stránce události oboru názvů Service Bus.
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.
Další kroky
- Další informace o službě Azure Event Grid.
- Další informace o službě Azure Functions.
- Další informace o funkci Logic Apps služby Azure App Service.
- Další informace o službě Azure Service Bus.