Vytváření proměnných pro ukládání a předávání hodnot ve službě Azure Logic Apps

Platí pro: Azure Logic Apps (Consumption + Standard)

Pro ukládání a předávání hodnot ve vašem workflow vytvořte proměnné. Proměnné podporují celočíselné, plovoucí, Booleovské, řetězcové, pole a objektové hodnoty.

Například vám proměnné mohou pomoct sledovat, kolikrát se smyčka spustí. Pro iteraci přes pole nebo kontrolu pole pro konkrétní položku použijte proměnnou k odkazu na indexové číslo pro každou položku pole.

Po vytvoření proměnné vyberte úkol:

Požadavky

  • Účet a předplatné Azure. Získejte bezplatný účet Azure.

  • Workflow logické aplikace, kde chcete vytvořit proměnnou, včetně triggeru, který spustí workflow.

    Než můžete přidat akce pro vytváření a práci s proměnnými, musí váš pracovní postup začít spouštěčem jako prvním krokem v pracovním postupu.

    Tento průvodce používá portál Azure, ale můžete použít Visual Studio Code a odpovídající rozšíření Azure Logic Apps k tvorbě workflowů logických aplikací:

Úvahy při práci s proměnnými

  • Ve výchozím nastavení běží pro každou smyčku iterace paralelně. Aby proměnné ve smyčce produkovaly předvídatelné výsledky, spouštějte smyčku postupně.

  • Proměnné existují a jsou globální pouze v rámci pracovního postupu, který je vytváří.

  • Proměnné přetrvávají napříč iteracemi smyček pouze v rámci tohoto workflow.

  • Odkazujte na proměnnou podle jejího jména, nikoli podle názvu akce, která proměnnou vytvořila, což je obvyklý způsob odkazování na výstupy akce.

Inicializovat proměnnou

Pro vytvoření proměnné přidejte akci Inicializovat proměnnou do svého workflow. Proměnné můžete deklarovat pouze na globální úrovni workflow, ne v rozsahu, podmínkách a smyčkách.

  1. Na portálu Azure portal otevřete v návrháři pracovní postup aplikace logiky.

  2. V návrháři přidejte akci s názvem Inicializovat proměnnou podle obecných kroků pro daný typ pracovního postupu:

  3. Zadejte následující informace o proměnné:

    Vlastnost Požaduje se Hodnota Popis
    Jméno Ano < název-proměnné> Název proměnné.
    Typ Ano < typ-proměnné> Datový typ proměnné.
    Hodnota Ne < počáteční hodnota> Počáteční hodnota pro vaši proměnnou.

    Tip: I když je tato hodnota volitelná, nastavte ji jako osvědčený postup, abyste vždy znali počáteční hodnotu proměnné.

    Pokud chcete vytvořit více než jednu proměnnou najednou, vyberte Přidat proměnnou.

    Například akce proměnné Initialize obsahuje název proměnné, datový typ a počáteční hodnotu:

    Screenshot, který ukazuje Azure portál a workflow logické aplikace s akcí nazvanou Initialize variable.

  4. Pokračujte přidáním požadovaných akcí pro váš scénář. Jakmile budete hotovi, na panelu nástrojů návrháře vyberte Uložit.

Pokud přepnete z designérského pohledu na kódový pohled, následující příklad ukazuje, jak se akce Initialize variable objeví ve vaší definici workflow, která je ve formátu JavaScript Object Notation (JSON):

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ 
            {
               "name": "Count",
               "type": "Integer",
               "value": 0
            }
         ]
      },
      "runAfter": {}
   }
}

Následující příklady ukazují další typy proměnných:

Logická proměnná

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myBooleanVariable",
               "type": "boolean",
               "value": false
            }
         ]
      },
      "runAfter": {}
   }
},

Proměnná typu float

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myFloatVariable",
               "type": "float",
               "value": 1.99999
            }
         ]
      },
      "runAfter": {}
   }
},

Řetězcová proměnná

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myStringVariable",
               "type": "string",
               "value": "lorem ipsum"
            }
         ]
      },
      "runAfter": {}
   }
},

Proměnná objektu

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "MyObjectVariable",
               "type": "object",
               "value": {
                  "ProductItem": {
                     "Name": "myProductName",
                     "ProductID": "000000"
                  }
               }
            }
         ]
      },
      "runAfter": {}
   }
},

Pole s celými čísly

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myArrayVariable",
               "type": "array",
               "value": [1, 2, 3]
            }
         ]
      },
      "runAfter": {}
   }
},

Pole s řetězci

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [
            {
               "name": "myArrayVariable",
               "type": "array",
               "value": ["red", "orange", "yellow"]
            }
         ]
      },
      "runAfter": {}
   }
},

Získání hodnoty proměnné

Pro získání nebo odkazování obsahu proměnné použijte variables() funkci v workflow designeru a editoru code view. Když odkazujete na proměnnou, použijte jako token název proměnné, nikoli název akce, což je obvyklý způsob odkazování na výstupy akce.

Například následující výraz získá položky z proměnné pole , kterou vytvoříte v této příručce pomocí variables() funkce. Funkce string() vrátí obsah proměnné ve formátu řetězce: "1, 2, 3, red".

@{string(variables('myArrayVariable'))}

Zvýšení hodnoty proměnné

Chcete-li zvýšit nebo zvýšit proměnnou o určitou konstantní hodnotu, přidejte do pracovního postupu akci přírůstkové proměnné . Tato akce funguje pouze s proměnnými typu celé číslo nebo číslo s plovoucí desetinnou čárkou.

  1. V návrháři přidejte akci s názvem Zvýšit proměnnou podle obecných kroků pro váš typ pracovního postupu:

  2. Zadejte následující informace pro tuto akci:

    Vlastnost Požaduje se Hodnota Popis
    Jméno Ano < název-proměnné> Název proměnné, která se má inkrementovat.
    Hodnota Ne < hodnota přírůstku> Hodnota, kterou použít pro inkrementaci proměnné. Výchozí hodnota je 1.

    Tip: I když tato hodnota není povinná, nastavte ji jako osvědčený postup, abyste vždy věděli, jakou konkrétní hodnotu chcete zvýšit.

    Následující příklad ukazuje ukázkové hodnoty pro tuto akci:

    Snímek obrazovky, který zobrazuje portál Azure a pracovní postup aplikace logiky s akcí nazvanou Increment variable.

  3. Po dokončení uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

Pokud přepnete z návrháře na zobrazení kódu, následující příklad ukazuje, jak se v definici pracovního postupu zobrazuje akce přírůstkové proměnné , která je ve formátu JSON:

"actions": {
   "Increment_variable": {
      "type": "IncrementVariable",
      "inputs": {
         "name": "Count",
         "value": 1
      },
      "runAfter": {}
   }
},

Příklad: Spočítání e-mailových příloh pomocí smyčky

V tomto příkladu inicializujete čítač na nule, zvýšíte počítadlo jednou pro každou přílohu e-mailu a vrátíte celkový počet příloh.

  1. Na portálu Azure vytvořte prostředek aplikace logiky s prázdným pracovním postupem. Přidejte trigger, který rozpozná nový e-mail a všechny přílohy.

    Tento příklad používá Office 365 Outlook spouštěč s názvem Když dorazí nový e-mail. Nastavte tento trigger tak, aby se spouštěl pouze tehdy, když e-mail obsahuje přílohy. Můžete však použít jakýkoli konektor, který kontroluje nové e-maily s přílohami, například konektor Outlook.com.

  2. V triggeru zvolte Ano pro následující vlastnosti, abyste zkontrolovali přílohy a předali je do svého pracovního postupu:

    • Pouze s přílohou
    • Zahrnout přílohy

    Snímek obrazovky zobrazující portál Azure a pracovní postup aplikace logiky s vybranými vlastnostmi aktivační události Office 365 Outlook pro kontrolu a zahrnutí příloh.

  3. Přidejte akci Initialize proměnné a vytvořte celočíselnou proměnnou nazvanou Count, která začíná na 0.

  4. V návrháři přidejte akci s názvem For each podle obecných kroků pro váš typ pracovního postupu:

  5. V cyklu postupujte podle těchto kroků:

    1. Vyberte uvnitř pole s názvem Vyberte výstup z předchozích kroků pro zobrazení vstupních možností.
    2. Výběrem ikony blesku zobrazíte seznam dynamického obsahu.
    3. V seznamu v části Při přijetí nového e-mailu vyberte Přílohy.

    Snímek obrazovky, který zobrazuje Azure Portal a pracovní postup aplikace logiky se smyčkou For each, otevřeným seznamem dynamického obsahu a vybraným výstupem Attachments.

    Vlastnost Přílohy předává do smyčky pole obsahující e-mailové přílohy z výstupu aktivační události, aby je váš pracovní postup mohl postupně zpracovat.

  6. Ve smyčce Pro každou vyberte Přidat akci.

  7. V návrháři přidejte akci s názvem Zvýšit proměnnou podle obecných kroků pro váš typ pracovního postupu:

    Poznámka:

    Ujistěte se, že akce Zvýšit proměnnou je uvnitř smyčky. Pokud se akce zobrazí mimo smyčku, přetáhněte akci do smyčky.

  8. V akci Zvýšit hodnotu proměnné v seznamu Název vyberte proměnnou Počet. Nastavte vlastnost Value na hodnotu 1.

    Snímek obrazovky webu Azure Portal a pracovního postupu aplikace logiky s vybranou proměnnou s názvem Count

  9. Pod smyčku přidejte libovolnou akci, která odešle počet příloh. Do akce přidejte hodnotu z proměnné Count, například:

    Snímek obrazovky, který zobrazuje portál Azure a pracovní postup logické aplikace s akcí, která odesílá výsledky.

  10. Po dokončení uložte pracovní postup. Na panelu nástrojů návrháře vyberte Uložit.

Otestování pracovního postupu

  1. Pokud chcete pracovní postup spustit ručně, na panelu nástrojů návrháře vyberte Spustit>Spustit a pracovní postup spusťte ručně.

  2. Odešlete e-mail s jednou nebo více přílohami k e-mailovému účtu, který jste použili v tomto příkladu.

    Tento krok aktivuje trigger pracovního postupu, který vytvoří a spustí instanci pracovního postupu. V důsledku toho vám pracovní postup pošle zprávu nebo e-mail, který zobrazuje počet příloh v e-mailu, který jste odeslali.

Pokud přepnete z návrháře do zobrazení kódu, následující příklad ukazuje, jak se v definici vašeho pracovního postupu, která je ve formátu JSON, zobrazí smyčka For each spolu s akcí Increment variable:

"actions": {
   "For_each": {
      "type": "Foreach",
      "actions": {
         "Increment_variable": {
           "type": "IncrementVariable",
            "inputs": {
               "name": "Count",
               "value": 1
            },
            "runAfter": {}
         }
      },
      "foreach": "@triggerBody()?['Attachments']",
      "runAfter": {
         "Initialize_variable": [ "Succeeded" ]
      }
   }
},

Snížení hodnoty proměnné

Pokud chcete proměnnou snížit nebo snížit o určitou konstantní hodnotu, postupujte podle kroků pro zvýšení proměnné s tím rozdílem, že do pracovního postupu přidáte akci dekrementace proměnné. Tato akce funguje pouze s proměnnými typu celé číslo nebo číslo s plovoucí desetinnou čárkou.

Následující tabulka popisuje informace pro akci Snížit proměnnou:

Vlastnost Požaduje se Hodnota Popis
Jméno Ano < název-proměnné> Název proměnné, jejíž hodnotu chcete snížit
Hodnota Ne < hodnota dekrementace> Hodnota použitá pro snížení hodnoty proměnné. Výchozí hodnota je 1.

Tip: I když je to volitelné, nastavte zde osvědčenou hodnotu, abyste si vždy pamatovali konkrétní hodnotu, o kterou snižujete svou proměnnou.

Pokud přepnete z návrháře na zobrazení kódu, následující příklad ukazuje, jak se v definici pracovního postupu zobrazuje akce dekrementace proměnné , která je ve formátu JSON:

"actions": {
   "Decrement_variable": {
      "type": "DecrementVariable",
      "inputs": {
         "name": "Count",
         "value": 1
      },
      "runAfter": {}
   }
},

Nastavit proměnnou

Pokud chcete stávající proměnné přiřadit jinou hodnotu, postupujte podle kroků pro zvýšení proměnné s následujícími výjimkami:

  1. Vyhledejte a vyberte akci Nastavit proměnnou.

  2. Zadejte následující informace pro tuto akci:

    Vlastnost Požaduje se Hodnota Popis
    Jméno Ano < název-proměnné> Název proměnné, který se změní.
    Hodnota Ano < nová-hodnota> Hodnota, kterou chcete přiřadit proměnné. Ujistěte se, že proměnná i nová hodnota mají stejný datový typ. Hodnota je povinná, protože tato akce nemá výchozí hodnotu.

    Poznámka:

    Pokud proměnné neinkrementujete ani nedekrementujete, jejich změna uvnitř smyček může vést k neočekávaným výsledkům, protože smyčky ve výchozím nastavení běží paralelně neboli souběžně. V těchto případech zkuste nastavit smyčku tak, aby běžela postupně. Pokud například chcete odkazovat na hodnotu proměnné uvnitř smyčky a očekávat stejnou hodnotu na začátku a konci instance smyčky, změňte způsob spuštění smyčky pomocí následujícího postupu:

    1. Výběrem smyčky zobrazte podokno informací a pak vyberte Nastavení.

    2. V části Obecné v části Řízení souběžnosti změňte nastavení z Vypnuto na Zapnuto.

    3. Přetáhněte posuvník Stupně paralelismu na 1.

Pokud přepnete z designérského pohledu na kódový pohled, následující příklad ukazuje, jak se akce Set variable objevuje ve vaší definici workflow, která je ve formátu JSON, a mění Count aktuální hodnotu proměnné na jinou:

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
               "name": "Count",
               "type": "Integer",
               "value": 0
          } ]
      },
      "runAfter": {}
   },
   "Set_variable": {
      "type": "SetVariable",
      "inputs": {
         "name": "Count",
         "value": 100
      },
      "runAfter": {
         "Initialize_variable": [ "Succeeded" ]
      }
   }
},

Připojit k proměnné

V případě proměnných, které uchovávají řetězce nebo pole, můžete vložit nebo připojit hodnotu proměnné jako poslední položku v těchto řetězcích nebo polích. Postupujte podle kroků pro inkrementaci proměnné s následujícími výjimkami:

  1. Najděte a vyberte jednu z těchto akcí na základě toho, jestli je proměnná řetězec nebo pole:

    • Připojit k řetězcové proměnné
    • Přidat do proměnné typu pole
  2. Zadejte hodnotu, která se má připojit jako poslední položka v řetězci nebo poli.

    Vlastnost Požaduje se Hodnota Popis
    Jméno Ano < název-proměnné> Název proměnné, který se změní.
    Hodnota Ano < přidat-hodnotu> Hodnota, kterou chcete přidat, může mít jakýkoli typ.

Pokud přepnete z návrháře do zobrazení kódu, následující příklad ukazuje, jak se v definici pracovního postupu zobrazuje akce Připojit k maticové proměnné , která je ve formátu JSON.

Následující příklad vytvoří proměnnou pole a přidá další hodnotu jako poslední položku v poli. Výsledkem je aktualizovaná proměnná, která obsahuje toto pole: [1,2,3,"red"].

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ {
            "name": "myArrayVariable",
            "type": "Array",
            "value": [1, 2, 3]
         } ]
      },
      "runAfter": {}
   },
   "Append_to_array_variable": {
      "type": "AppendToArrayVariable",
      "inputs": {
         "name": "myArrayVariable",
         "value": "red"
      },
      "runAfter": {
        "Initialize_variable": [ "Succeeded" ]
      }
   }
},