Změna toku řízení pomocí řídicí akce

Dokončeno

Řídicí akce pomáhají přidávat do pracovního postupu rozhodnutí a alternativní cesty akcí. Aplikace pro monitorování zpráv používá řídicí akci ke kontrole pořadí mínění v článku a větvení cesty pracovního postupu na základě toho, jestli je pořadí kladné nebo záporné. V této lekci se podíváme na čtyři řídicí akce, které vám pomůžou spravovat cestu provádění prostřednictvím pracovního postupu.

Podmínka akce

Akce Podmínka je ve skutečnosti If příkaz, který umožňuje rozdělit pracovní postup do dvou cest na základě toho, jestli se zadaná podmínka vyhodnotí jako pravda nebo nepravda. Podmínka má tři části: logický výraz a dvě akce. Za běhu modul spouštění Azure Logic Apps vyhodnotí výraz a zvolí akci na základě toho, jestli je výraz pravdivý nebo nepravda.

Sestavu výdajů byste například mohli podle výše částky směrovat jinému vedoucímu. Pokud zpracováváte e-mail, možná budete muset otestovat, jestli je zpráva označená jako vysoce prioritní. V ukázkové aplikaci pro monitorování zpráv použijte akci Podmínka k větvení podle štítku sentimentu článku. Následující diagram znázorňuje, jak pracovní postup používá akci Podmínka :

Diagram znázorňuje koncepční zobrazení pro celou aplikaci pro monitorování zpráv. Akce podmínky se zobrazí zvýrazněná.

Typy a operátory

V akci Podmínka můžete porovnat číselné objekty, řetězce, logické hodnoty a objekty JSON. Následující pseudokód ukazuje příklad pro několik datových typů:

if (Favorited is-equal-to true)             ... // Boolean type
if (URL does-not-contain "mycompany")       ... // String type
if (confidenceScores is-equal-to 1)         ... // Numeric type

Každý datový typ poskytuje sadu operátorů, které se mají použít ve vašich porovnáních. Následující tabulka uvádí operátory pro každý typ:

Numerický řetězec logický Objekty JSON
je rovno k je rovno k je rovno k je rovno k
není rovno není rovno není rovno není rovno
je větší než obsahuje
je větší nebo rovno neobsahuje
je menší než začíná na
je menší než nebo rovno nezačíná na
končí na
nekončí s

Většina operátorů je intuitivní, ale dvě mají následující aspekty:

  • Při porovnávání všech řetězců se rozlišují malá a velká písmena.

  • Porovnání JSON používají hloubkovou rovnost. Toto porovnání znamená, že operátory rovnosti porovnávají celý objekt, včetně všech potomků tokenů uvnitř složitých objektů.

Kombinování výrazů pomocí operátorů AND a OR

Azure Logic Apps umožňuje vytvářet složité výrazy kombinováním podmínek pomocí operátoru AND nebo OR .

Předpokládejme například, že jste chtěli identifikovat články, které jsou neutrální a smíšené v jejich mínění. Můžete napsat výraz podobný následujícímu pseudokódu:

if (sentiment is-equal-to neutral OR sentiment is-equal-to mixed)

Dostupnost dat

Azure Logic Apps zpřístupňuje výstupy ze všech předchozích kroků v pracovním postupu v dalších krocích. Tato funkce znamená, že výrazy můžou používat hodnoty vygenerované v jakémkoli předchozím kroku. Hodnoty z různých kroků můžete dokonce zkombinovat do jednoho výrazu.

Například následující pseudokód hledá články s pozitivním míněním, které vaše společnost píše. Hodnota sentimentu pochází z akce Sentiment, zatímco hodnota adresy URL pochází ze spouštěče Nového novinového článku.

if (sentiment is-equal-to positive AND URL does-not-contain "mycompany")

Vytvoření složitých výrazů se skupinami

Předpokládejme, že chcete vytvořit výraz, který identifikuje vlivné a relevantní články. Rozhodnete se, že následující kritéria vám pomůžou kvalifikovat tyto články:

  • Mínění je pozitivní.
  • Kategorie je "Sports" nebo "Business".

Chcete-li zachytit tato kritéria, chcete vytvořit výraz podobný následujícímu pseudokódu, ale nemůžete použít operátor AND s operátorem OR :

if (sentiment is-equal-to positive AND Category is-equal-to Sports OR Category is-equal-to Business) // Error, can't mix AND with OR

Azure Logic Apps tento výraz nepřímo podporuje, takže tuto úlohu můžete přesto dokončit, ale jiným způsobem. Místo toho můžete použít skupinu, což je posloupnost výrazů v kombinaci s operátorem AND nebo OR. V rámci skupiny nemůžete operátory AND a OR kombinovat.

Podívejme se na několik příkladů vyjádřených jako pseudokód. Pokud chcete, aby se příklady snadněji četly, použijte malá písmena k vyjádření výrazů, které potřebujete zkombinovat. První příklad je platná skupina, ale druhá skupina není platná:

if (a AND b AND c) // OK
if (a AND b OR c) // Error, can't mix AND and OR

Místo toho musíte v předchozím příkladu vytvořit skupinu pro výrazy propojené funkcí AND. Potom pomocí or připojíte skupinu k druhému výrazu. Chcete-li reprezentovat skupinu, použijte závorky v následujícím pseudokódu:

if ([a AND b] OR c) // OK

Akce Přepnout

Akce Switch porovná hodnotu s několika případy a provede pouze ten, který odpovídá. Výraz Switch podporuje řetězcové a celočíselné datové typy. Akce Přepnout obsahuje také výchozí akci, která se spustí, pokud neexistuje žádná shoda.

Předpokládejme například, že zpracováváte e-mailovou zprávu a chcete odpovědět odlišně na základě důležitosti zprávy. V e-mailu Outlooku je hodnota Důležitost celé číslo od 0 do 2. K vytvoření přepínací akce pro důležitost e-mailu můžete použít logiku podobnou následujícímu pseudokódu:

switch (Importance)
  case 0: ... // Actions for high importance
  case 1: ... // Actions for medium importance
  case 2: ... // Actions for low importance
  default: ...

Pro každou smyčku

A Pro každou akci smyčky zpracovává pole. Smyčka provádí stejné akce pro každou položku pole. Ve výchozím nastavení se akce pro každou položku pole spouští paralelně, i když toto chování můžete řídit v nastavení smyčky.

Například konektor Bing Search obsahuje akci Seznam zpráv podle dotazu. Výstup akce je pole článků o novinkách, které obsahují adresu URL pro každý článek. Předpokládejme, že jste chtěli vložit každou adresu URL do řádku v databázi. Zpracování můžete provést pomocí příkazu For each action, jak ukazuje následující pseudokód:

foreach url in NewsArticle
   insert-row

Smyčka Until

Akce Until smyčky spustí skupinu akcí alespoň jednou a opakuje se, dokud nebudou splněna některá z následujících kritérií zastavení:

  • Podmínka: Výraz vyhodnocený po každé iteraci
  • Počet: Maximální počet iterací. Výchozí hodnota je 60.
  • Časový limit: Maximální povolená doba běhu, která je určena ve formátu ISO 8601. Výchozí hodnota je jedna hodina.

Tuto smyčku můžete použít ke zpracování dat, ale tato smyčka je také dobrou volbou pro případy, jako je opakování síťové operace, dokud operace nebude úspěšná nebo vyprší časový limit. Předpokládejme například, že váš pracovní postup musí spustit akci, která provede požadavek HTTP. Smyčku Until můžete použít v příkladu popsaném následujícím pseudokódem, kde PT5M se hodnota času rovná pěti minutům:

repeat
    HTTP GET
until (StatusCode is-equal-to 200 OR Count is-greater-than 3 OR Timeout is-greater-than PT5M)

Řízení akcí v návrháři

Řídicí akce se spouštějí nativně v prováděcím modulu Azure Logic Apps, takže se nazývají integrované operace nebo operace v aplikaci. V galerii konektorů se všechny řídicí akce zabalí do kolekce Control . Jakmile najdete tuto kolekci v galerii, můžete vybrat některou z dříve popsaných řídicích akcí. Následující snímek obrazovky ukazuje akce ovládacích prvků, které můžete vybrat:

Snímek obrazovky ukazuje kolekci **Control** a dostupné akce ovládacích prvků.

Tip

Pokud nevidíte všechny akce, vedle názvu kolekce vyberte Zobrazit další.

Pokud chcete vyhodnotit mínění v pracovním postupu, přidejte akci řízení podmínky , která přidá If příkaz. Akce Podmínka poskytuje způsob, jak vytvořit Booleův výraz. Pokud chcete vytvářet složité výrazy pomocí skupin, seznam Nová položka obsahuje možnost Přidat skupinu , například:

Snímek obrazovky znázorňující návrháře pracovního postupu s akcí **Sentiment** následovanou akcí **Podmínka**. Jednoduchý výraz zkontroluje, jestli je hodnocení mínění kladné.

Další lekce ukazuje, jak přidat a nakonfigurovat řídicí akci se dvěma větvemi v návrháři pracovního postupu.