Vytváření proměnných pro ukládání a správu hodnot v Azure Logic Apps

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

Tento návod ukazuje, jak vytvářet proměnné a pracovat s jejich používáním, abyste mohli ukládat a používat hodnoty v pracovním postupu aplikace logiky. Proměnné vám například můžou pomoct sledovat, kolikrát se smyčka spustí. Pokud chcete iterovat pole nebo zkontrolovat pole pro určitou položku, můžete použít proměnnou k odkazování na číslo indexu pro každou položku pole.

Můžete vytvářet proměnné pro datové typy, jako jsou celé číslo, float, logická hodnota, řetězec, pole a objekt. Po vytvoření proměnné můžete provádět další úlohy, například:

  • Získejte hodnotu proměnné nebo na ji odkazujte.
  • Zvyšte nebo zmenšete proměnnou o konstantní hodnotu, označovanou také jako inkrementace a dekrementace.
  • Proměnné přiřaďte jinou hodnotu.
  • Vložte nebo připojte hodnotu proměnné jako poslední položku v řetězci nebo matici.

Proměnné existují a jsou globální pouze v rámci instance pracovního postupu, která je vytváří. Také se uchovávají v rámci všech iterací smyčky uvnitř instance pracovního postupu. Když odkazujete na proměnnou, použijte jako token název proměnné, nikoli název akce, což je obvyklý způsob, jak odkazovat na výstupy akce.

Důležité

Ve výchozím nastavení běží iterace ve smyčce For each paralelně. Při použití proměnných ve smyčce spusťte smyčku postupně, aby proměnné vracely předvídatelné výsledky.

Požadavky

Následující kroky používají Azure Portal, ale s příslušným rozšířením Azure Logic Apps můžete k vytváření pracovních postupů aplikací logiky použít také následující nástroje:

Podle toho, jestli máte pracovní postup Consumption nebo Standard, postupujte podle příslušných kroků:

Inicializace proměnné

Můžete vytvořit proměnnou a deklarovat její datový typ a počáteční hodnotu pomocí jedné akce v pracovním postupu. Proměnné můžete deklarovat pouze na globální úrovni, nikoli v rámci rozsahů, podmínek a smyček.

  1. V Azure Portal otevřete pracovní postup v návrháři.

  2. V návrháři podle těchto obecných kroků přidejte akci s názvem Initialize variable.

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

    Vlastnost Požaduje se Hodnota Popis
    Název Ano <název proměnné> Název proměnné, která se má zvýšit
    Typ Ano <variable-type> Datový typ proměnné
    Hodnota No <počáteční hodnota> Počáteční hodnota proměnné

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

    Následující příklad ukazuje počáteční hodnoty pro tuto ukázkovou proměnnou:

    Snímek obrazovky znázorňující Azure Portal, pracovní postup příjemce a akci s názvem Inicializovat proměnnou

  4. Teď pokračujte přidáváním akcí, které chcete pro svůj scénář použít. Až budete hotovi, 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 akce Inicializovat proměnná zobrazí v definici pracovního postupu, která je ve formátu JSON (JavaScript Object Notation):

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

Poznámka

Přestože akce Inicializovat proměnnou"variables" má objekt, který je strukturován jako pole, může akce vytvořit pouze jednu proměnnou najednou. Každá nová proměnná vyžaduje individuální akci inicializovat proměnnou .

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": {}
   }
},

Plovoucí proměnná

"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é

Pokud chcete načíst obsah proměnné nebo na něj odkazovat, můžete použít funkci variables() v návrháři pracovního postupu a v editoru zobrazení kódu. Když odkazujete na proměnnou, použijte jako token název proměnné, nikoli název akce, což je obvyklý způsob, jak odkazovat na výstupy akce.

Například následující výraz získá položky z proměnné pole vytvořené 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'))}

Inkrementační proměnná

Pokud chcete zvýšit nebo zvýšit proměnnou o určitou konstantní hodnotu, přidejte do pracovního postupu akci inkrementační proměnné . Tato akce funguje pouze s celočíselnými a plovoucími proměnnými.

  1. V návrháři pracovního postupu podle těchto obecných kroků přidejte akci s názvem Inkrement variable.

  2. Pro tuto akci zadejte následující informace:

    Vlastnost Požaduje se Hodnota Popis
    Název Ano <název proměnné> Název proměnné, která se má zvýšit
    Hodnota No <inkrementační hodnota> Hodnota použitá pro zvýšení proměnné. Výchozí hodnota je 1.

    Tip: I když je tato hodnota volitelná, nastavte ji jako osvědčený postup, abyste vždy znali konkrétní hodnotu pro zvýšení vaší proměnné.

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

    Snímek obrazovky znázorňující Azure Portal, pracovní postup Consumption a akci s názvem Inkrement variable

  3. Až budete hotovi, pracovní postup uložte. 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 akce inkrementační proměnné zobrazí v definici pracovního postupu, která je ve formátu JSON:

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

Příklad: Vytvoření čítače smyčky

Proměnné se běžně používají k počítání počtu spuštění smyčky. Tento příklad ukazuje, jak můžete vytvořit a použít proměnné pro tento úkol vytvořením smyčky, která počítá přílohy v e-mailu.

  1. V Azure Portal vytvořte prostředek aplikace logiky Consumption s prázdným pracovním postupem. Přidejte trigger, který kontroluje nové e-maily a případné přílohy.

    Tento příklad používá trigger Office 365 Outlooku pro při přijetí nového e-mailu. Tento trigger můžete nastavit tak, aby se aktivoval jenom v případě, že má e-mail přílohy. Můžete ale použít jakýkoli konektor, který kontroluje nové e-maily s přílohami, například konektor Outlook.com.

  2. Pokud chcete v triggeru zkontrolovat přílohy a předat je do pracovního postupu, vyberte Ano u následujících vlastností:

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

    Snímek obrazovky znázorňující Azure Portal, pracovní postup Consumption a vlastnosti vybrané pro kontrolu a zahrnutí příloh

  3. Přidáním akce Inicializovat proměnnou vytvoříte celočíselnou proměnnou s názvem Count, která má počáteční hodnotu nastavenou na .0

  4. Pokud chcete iterovat každou přílohu, postupujte podle těchto obecných kroků a přidejte akci s názvem Smyčka For each.

  5. Ve smyčce vyberte uvnitř pole s názvem Vybrat výstup z předchozích kroků. Po zobrazení seznamu dynamického obsahu vyberte v části Při přijetí nového e-mailumožnost Přílohy.

    Snímek obrazovky znázorňující pracovní postup Consumption, smyčku For each, otevřený seznam dynamického obsahu a vybraný výstup Přílohy

    Vlastnost Attachments předá pole, které obsahuje e-mailové přílohy z výstupu triggeru, do smyčky pro iteraci pracovního postupu.

  6. Ve smyčce For each vyberte Přidat akci.

  7. Postupujte podle těchto obecných kroků a přidejte do smyčky akci s názvem inkrementační proměnná.

    Poznámka

    Ujistěte se, že se uvnitř smyčky zobrazí akce inkrementační proměnné . Pokud se akce zobrazí mimo smyčku, přetáhněte ji do smyčky.

  8. V akci Inkrement variable (Zvýšit proměnnou ) vyberte v seznamu Name (Název ) proměnnou Count (Počet ). Vlastnost Value nastavte na 1.

    Snímek obrazovky znázorňující pracovní postup Consumption s vybranou proměnnou s názvem Count

  9. Ve smyčce přidejte všechny akce, které vám odešlou počet příloh. Do akce zahrňte hodnotu z proměnné Count , například:

    Snímek obrazovky znázorňující pracovní postup Consumption a akci, která odesílá výsledky

  10. Až budete hotovi, pracovní postup uložte. Na panelu nástrojů návrháře vyberte Uložit.

Otestování pracovního postupu

  1. Pokud chcete pracovní postup aktivovat ručně, postupujte podle odpovídajícího kroku:

    Pracovní postup Consumption

    Na panelu nástrojů pracovního postupu návrháře vyberte Spustit aktivační událost>Spustit a spusťte pracovní postup ručně.

    Standardní pracovní postup

    V nabídce pracovního postupu vyberte Přehled. Na panelu nástrojů vyberte Spustit>.

  2. Odešlete e-mail s jednou nebo více přílohami na e-mailový účet, 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 s počtem příloh v e-mailu, který jste odeslali.

Pokud přepnete z návrháře na zobrazení kódu, následující příklad ukazuje, jak se v definici pracovního postupu, která je ve formátu JSON, zobrazí smyčka For each spolu s akcí proměnné Inkrement( Increment):

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

Dekrementační proměnná

Chcete-li snížit nebo snížit hodnotu proměnné o určitou konstantní hodnotu, postupujte podle kroků pro zvýšení proměnné s tím rozdílem, že místo toho přidáte do pracovního postupu akci Dekrement. Tato akce funguje pouze s celočíselnými a plovoucími proměnnými.

Následující tabulka popisuje informace o akci dekrementační proměnné :

Vlastnost Požaduje se Hodnota Popis
Název Ano <název proměnné> Název proměnné, která se má dekrementovat
Hodnota No <inkrementační hodnota> Hodnota pro snížení proměnné. Výchozí hodnota je jedna.

Tip: I když je tato hodnota volitelná, nastavte ji jako osvědčený postup, abyste vždy znali konkrétní hodnotu pro snížení hodnoty proměnné.

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

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

Nastavit proměnnou

Pokud chcete existují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ázev proměnné a hodnotu, kterou chcete přiřadit. Nová hodnota i proměnná musí mít stejný datový typ. Hodnota je povinná, protože tato akce nemá výchozí hodnotu.

Následující tabulka popisuje informace pro akci Nastavit proměnnou :

Vlastnost Požaduje se Hodnota Popis
Název Ano <název proměnné> Název proměnné, která se má změnit
Hodnota Ano <nová hodnota> Hodnota, kterou chcete přiřadit proměnné. Oba musí mít stejný datový typ.

Poznámka

Pokud nesčítáte nebo nezkreslujete proměnné, může změna proměnných uvnitř smyček vytvořit neočekávané výsledky, protože smyčky běží ve výchozím nastavení paralelně nebo 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áváte stejnou hodnotu na začátku a na konci instance smyčky, změňte způsob spuštění smyčky následujícím postupem:

  1. Ve smyčce vyhledejte a otevřete nastavení smyčky.

  2. V závislosti na typu pracovního postupu postupujte podle odpovídajících kroků:

    • Spotřeba: Změňte nastavení Řízení souběžnosti z Vypnuto na Zapnuto.

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

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

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

Následující příklad změní Count aktuální hodnotu proměnné na jinou hodnotu:

"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é

U proměnných, které ukládají ř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. Můžete postupovat podle kroků pro zvýšení proměnné s následujícími výjimkami:

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

    • Připojení k řetězcové proměnné
    • Připojení k proměnné pole
  2. Zadejte hodnotu, která se má připojit jako poslední položka v řetězci nebo matici. Tato hodnota se vyžaduje.

Následující tabulka popisuje informace o akcích Připojit k :

Vlastnost Požaduje se Hodnota Popis
Název Ano <název proměnné> Název proměnné, která se má změnit
Hodnota Ano <append-value> Hodnota, kterou chcete připojit, která může mít libovolný typ

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

Následující příklad vytvoří proměnnou pole a přidá další hodnotu jako poslední položku pole. 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" ]
      }
   }
},

Další kroky