Odesílání, příjem a dávkové zpracování zpráv v Azure Logic Apps

Platí pro: Azure Logic Apps (Consumption)

Pokud chcete posílat a zpracovávat zprávy určitým způsobem jako skupiny, můžete vytvořit dávkové řešení. Toto řešení shromažďuje zprávy do dávky a před uvolněním a zpracováním dávkových zpráv počká na splnění zadaných kritérií. Dávkování může omezit, jak často aplikace logiky zpracovává zprávy.

Tento návod ukazuje, jak vytvořit řešení dávkování vytvořením dvou aplikací logiky v rámci stejného předplatného Azure v oblasti Azure a v tomto pořadí:

  1. Aplikace logiky "dávkového příjemce" , která přijímá a shromažďuje zprávy do dávky, dokud nebudou splněna zadaná kritéria pro vydávání a zpracování těchto zpráv. Ujistěte se, že jste nejprve vytvořili tento příjemce dávky, abyste později mohli vybrat cíl dávky při vytváření odesílatele dávky.

  2. Jedna nebo více aplikací logiky "odesílatel dávky" , které odesílají zprávy dříve vytvořenému dávkovému přijímači.

    Odesílatel dávky může zadat jedinečný klíč, který rozdělí nebo rozdělí cílovou dávku na logické podmnožinu na základě daného klíče. Například číslo zákazníka je jedinečný klíč. Tímto způsobem může přijímací aplikace shromažďovat všechny položky se stejným klíčem a zpracovávat je společně.

Příjemce dávky a odesílatel dávky musí sdílet stejné předplatné Azure a oblast Azure. Pokud ne, nemůžete při vytváření odesílatele dávky vybrat příjemce dávky, protože se vzájemně nevidí.

Požadavky

Omezení

  • Obsah v dávce můžete zkontrolovat pouze po vydání tak, že porovnáte vydaný obsah se zdrojem.

  • Dávku můžete vydat dříve pouze změnou kritérií uvolnění v přijímači dávky, jak je popsáno v této příručce, zatímco trigger stále obsahuje dávku. Aktivační událost však používá aktualizovaná kritéria verze pro všechny neodpočtované zprávy.

Vytvoření dávkového přijímače

Než budete moct odesílat zprávy do dávky, musí tato dávka nejprve existovat jako cíl, kam tyto zprávy odesíláte. Nejprve tedy musíte vytvořit aplikaci logiky "dávkového příjemce", která začíná triggerem batch . Když pak vytvoříte aplikaci logiky "odesílatel dávky", můžete vybrat aplikaci logiky dávkového příjemce. Dávkový příjemce pokračuje ve shromažďování zpráv, dokud nebudou splněna zadaná kritéria pro vydávání a zpracování těchto zpráv. I když příjemci dávky nemusí o odesílatelích dávky nic vědět, odesílatelé dávky musí znát cíl, kam zprávy odesílají.

  1. V Azure Portal nebo sadě Visual Studio vytvořte aplikaci logiky s tímto názvem:BatchReceiver

  2. V návrháři pracovního postupu přidejte trigger batch , který spustí pracovní postup aplikace logiky. Do vyhledávacího pole zadejte batcha vyberte tuto aktivační událost: Dávkové zprávy

    Přidání triggeru Dávkové zprávy

  3. Nastavte pro příjemce dávky tyto vlastnosti:

    Vlastnost Popis
    Dávkový režim - Vložené: Pro definování kritérií vydané verze uvnitř triggeru dávky
    - Účet integrace: Pro definování více konfigurací kritérií verze prostřednictvím účtu integrace. S účtem integrace můžete všechny tyto konfigurace udržovat na jednom místě, a ne v samostatných aplikacích logiky.
    Název dávky Název dávky, který je v tomto příkladu "TestBatch" a vztahuje se pouze na vložený dávkový režim.
    Kritéria vydané verze Platí jenom pro vložený dávkový režim a před zpracováním jednotlivých dávek vybere kritéria, která se mají splnit:

    - Na základě počtu zpráv: Dávku uvolněte na základě počtu zpráv shromážděných v dávce.
    - Na základě velikosti: Dávku uvolněte na základě celkové velikosti v bajtech pro všechny zprávy shromážděné v této dávce.
    - Plán: Dávku uvolněte na základě plánu opakování, který určuje interval a frekvenci. V rozšířených možnostech můžete také vybrat časové pásmo a zadat počáteční datum a čas.
    - Vybrat vše: Použijte všechna zadaná kritéria.

    Počet zpráv Počet zpráv, které se mají shromáždit v dávce, například 10 zpráv. Limit dávky je 8 000 zpráv.
    Velikost dávky Celková velikost v bajtech, která se má v dávce shromáždit, například 10 MB. Limit velikosti dávky je 80 MB.
    Plán Interval a frekvence mezi dávkovými verzemi, například 10 minut. Minimální opakování je 60 sekund nebo 1 minuta. Desetinné minuty se ve skutečnosti zaokrouhlují nahoru na 1 minutu. Pokud chcete zadat časové pásmo nebo počáteční datum a čas, otevřete seznam Přidat nový parametr a vyberte odpovídající vlastnosti.

    Poznámka

    Pokud změníte kritéria vydané verze v době, kdy aktivační událost stále obsahuje dávkové zprávy, ale neodpočtené zprávy, použije aktivační událost aktualizovaná kritéria verze pro zpracování neodpočtených zpráv.

    Tento příklad ukazuje všechna kritéria, ale pro vlastní testování zkuste jenom jedno kritérium:

    Zadání podrobností o triggeru služby Batch

  4. Teď přidejte jednu nebo více akcí, které zpracovávají každou dávku.

    V tomto příkladu přidejte akci, která při aktivaci dávkového triggeru odešle e-mail. Trigger se spustí a odešle e-mail, když dávka obsahuje 10 zpráv, dosáhne 10 MB nebo po uplynutí 10 minut.

    1. Pod triggerem dávky vyberte Nový krok.

    2. Do vyhledávacího pole zadejte send email jako filtr. V závislosti na poskytovateli e-mailu vyberte e-mailový konektor.

      Pokud máte například pracovní nebo školní účet, například @fabrikam.com nebo @fabrikam.onmicrosoft.com, vyberte konektor Microsoft 365 Outlook . Pokud máte osobní účet, například @outlook.com nebo @hotmail.com, vyberte konektor Outlook.com . V tomto příkladu se používá konektor Microsoft 365 Outlook.

    3. Vyberte akci "odeslat e-mail" pro vašeho poskytovatele, například:

      Vyberte akci Odeslat e-mail pro vašeho poskytovatele e-mailu.

  5. Pokud budete vyzváni, přihlaste se k e-mailovému účtu.

  6. Nastavte vlastnosti akce, kterou jste přidali.

    • Do pole Komu zadejte e-mailovou adresu příjemce. Pro účely testování můžete použít svou vlastní e-mailovou adresu.

    • Když se zobrazí seznam dynamického obsahu, v poli Předmět vyberte pole Název oddílu .

      V seznamu dynamického obsahu vyberte Název oddílu.

      Později můžete v odesílateli dávky zadat jedinečný klíč oddílu, který rozdělí cílovou dávku na logické podmnožinu, do kterých můžete odesílat zprávy. Každá sada má jedinečné číslo vygenerované aplikací logiky dávkového odesílatele. Tato funkce umožňuje použít jednu dávku s více podmnožinami a definovat každou podmnožinu s názvem, který zadáte.

      Důležité

      Oddíl má limit 5 000 zpráv nebo 80 MB. Pokud je splněná kterákoliv z podmínek, služba Logic Apps může dávku uvolnit, i když není splněná definovaná podmínka vydání.

    • Když se zobrazí seznam dynamického obsahu, vyberte v poli Text pole Id zprávy .

      Návrhář pracovního postupu automaticky přidá smyčku For each kolem akce odeslat e-mail, protože tato akce považuje výstup z předchozí akce za kolekci, nikoli jako dávku.

      V poli Text vyberte ID zprávy.

  7. Uložte aplikaci logiky. Právě jste vytvořili dávkového přijímače.

    Uložení aplikace logiky

    Důležité

    Pokud používáte Visual Studio, než budete pokračovat k další části, ujistěte se, že jste nejprve nasadili aplikaci logiky dávkového přijímače do Azure. V opačném případě nemůžete při vytváření odesílatele dávky vybrat příjemce dávky.

Vytvoření dávkového odesílatele

Teď vytvořte jednu nebo více aplikací logiky dávkového odesílatele, které odesílají zprávy do aplikace logiky příjemce dávky. V každém odesílateli dávky zadáte příjemce dávky a název dávky, obsah zprávy a všechna další nastavení. Volitelně můžete poskytnout jedinečný klíč oddílu, který rozdělí dávku na logické podmnožina pro shromažďování zpráv s tímto klíčem.

  • Ujistěte se, že jste dříve vytvořili a nasadili příjemce dávky , abyste při vytváření odesílatele dávky mohli vybrat existujícího příjemce dávky jako cílovou dávku. I když příjemci dávky nepotřebují o odesílatelích dávek nic vědět, odesílatelé dávky musí vědět, kam posílat zprávy.

  • Ujistěte se, že příjemce dávky a odesílatel dávky sdílejí stejnou oblast Azure a předplatné Azure. Pokud ne, nemůžete při vytváření odesílatele dávky vybrat příjemce dávky, protože se navzájem nevidí.

  1. Vytvořte další aplikaci logiky s tímto názvem: BatchSender

    1. Do vyhledávacího pole zadejte recurrence jako filtr. V seznamu triggerů vyberte tento trigger: Opakování.

      Přidání triggeru Opakování

    2. Nastavte interval a frekvenci spouštění aplikace logiky odesílatele každou minutu.

      Nastavení frekvence a intervalu pro trigger opakování

  2. Přidejte novou akci pro odesílání zpráv do dávky.

    1. Pod triggerem Opakování vyberte Nový krok.

    2. Do vyhledávacího pole zadejte batch jako filtr a vyberte tuto akci: Zvolte pracovní postup Logic Apps s dávkovou aktivační událostí.

      Vyberte Zvolit pracovní postup Logic Apps s dávkovou aktivační událostí.

      Zobrazí se seznam a zobrazí se jenom aplikace logiky, které mají dávkové triggery a existují ve stejné oblasti Azure a předplatném Azure jako vaše aplikace logiky dávkového odesílatele.

    3. V seznamu aplikací logiky vyberte aplikaci logiky dávkového přijímače, kterou jste předtím vytvořili.

      Vyberte aplikaci logiky dávkového příjemce.

      Důležité

      Pokud používáte Visual Studio a nevidíte žádné dávkové příjemce, které byste mohli vybrat, zkontrolujte, že jste dříve vytvořili a nasadili dávkového příjemce do Azure. Pokud jste to neudělali, přečtěte si, jak nasadit aplikaci logiky dávkového příjemce do Azure.

    4. V seznamu akcí vyberte tuto akci: Batch_messages – < název >vaší aplikace logiky.

      Vyberte tuto akci:

  3. Nastavte vlastnosti dávkového odesílatele:

    Vlastnost Popis
    Název dávky Název dávky definovaný aplikací logiky příjemce, který je TestBatch v tomto příkladu

    Důležité: Název dávky se ověří za běhu a musí odpovídat názvu zadanému aplikací logiky příjemce. Změna názvu dávky způsobí selhání odesílatele dávky.

    Obsah zprávy Obsah zprávy, kterou chcete odeslat

    Poznámka

    Hodnoty vlastností Název triggeru a Pracovní postup se automaticky vyplní z vybrané aplikace logiky.

    V tomto příkladu přidejte tento výraz, který vloží aktuální datum a čas do obsahu zprávy, kterou odešlete do dávky:

    1. Klikněte do pole Obsah zprávy .

    2. Jakmile se zobrazí seznam dynamického obsahu, vyberte Výraz.

    3. Zadejte výraz utcnow()a vyberte OK.

      V části Obsah zprávy vyberte Výraz, zadejte utcnow() a vyberte OK.

  4. Teď nastavte oddíl pro dávku. V akci BatchReceiver otevřete seznam Přidat nový parametr a vyberte tyto vlastnosti:

    Vlastnost Popis
    Název oddílu Volitelný jedinečný klíč oddílu, který se použije k rozdělení cílové dávky do logických podmnožina a shromažďování zpráv na základě daného klíče
    ID zprávy Volitelný identifikátor zprávy, který je vygenerovaný globálně jedinečný identifikátor (GUID), pokud je prázdný

    V tomto příkladu přidejte do pole Název oddílu výraz, který vygeneruje náhodné číslo mezi jedním a pěti. Pole ID zprávy nechte prázdné.

    1. Klikněte do pole Název oddílu , aby se zobrazil seznam dynamického obsahu.

    2. V seznamu dynamického obsahu vyberte Výraz.

    3. Zadejte výraz rand(1,6)a pak vyberte OK.

      Nastavení oddílu pro cílovou dávku

      Tato funkce náhčíslu vygeneruje číslo mezi jedním a pěti. Rozdělíte tedy tuto dávku na pět čísloných oddílů, které tento výraz dynamicky nastaví.

  5. Uložte aplikaci logiky. Vaše aplikace logiky odesílatele teď vypadá podobně jako v tomto příkladu:

    Uložení aplikace logiky odesílatele

Testování aplikací logiky

Pokud chcete otestovat řešení dávkování, nechte aplikace logiky několik minut spuštěné. Brzy začnete dostávat e-maily ve skupinách po pěti, všechny se stejným klíčem oddílu.

Aplikace logiky dávkového odesílatele se spouští každou minutu a vygeneruje náhodné číslo mezi jedním a pěti. Odesílatel dávky používá toto náhodné číslo jako klíč oddílu pro cílovou dávku, do které odesíláte zprávy. Pokaždé, když má dávka pět položek se stejným klíčem oddílu, aplikace logiky dávkového příjemce aktivuje a odešle e-mail pro každou zprávu.

Důležité

Po dokončení testování se ujistěte, že jste aplikaci logiky zakázali BatchSender , abyste přestali posílat zprávy a nepřetěžujte doručenou poštu.

Další kroky