Delen via


Variabelen maken voor het opslaan en beheren van waarden in Azure Logic Apps

Van toepassing op: Azure Logic Apps (Verbruik + Standard)

Deze handleiding laat zien hoe u variabelen maakt en gebruikt, zodat u waarden kunt opslaan en gebruiken in uw werkstroom voor logische apps. Met variabelen kunt u bijvoorbeeld het aantal keren bijhouden dat een lus wordt uitgevoerd. Als u een matrix wilt herhalen of een matrix voor een specifiek item wilt controleren, kunt u een variabele gebruiken om te verwijzen naar het indexnummer voor elk matrixitem.

U kunt variabelen maken voor gegevenstypen zoals geheel getal, drijvend, booleaans, tekenreeks, matrix en object. Nadat u een variabele hebt gemaakt, kunt u andere taken uitvoeren, bijvoorbeeld:

  • De waarde van de variabele verkrijgen of ernaar verwijzen.
  • De variabele met een constante waarde verhogen of verlagen.
  • Een andere waarde toewijzen aan de variabele.
  • De waarde van de variabele invoegen of als het laatste item toevoegen in een tekenreeks of matrix.

Variabelen bestaan en zijn alleen globaal binnen het werkstroomexemplaren waarmee ze worden gemaakt. Ze blijven ook behouden in eventuele herhalingen binnen een werkstroomexemplaren. Als u naar een variabele verwijst, gebruik dan de naam van de variabele als token, niet de naam van de actie, wat de gebruikelijke manier is om naar de uitvoer van een actie te verwijzen.

Belangrijk

Standaard worden de iteraties in een voor elke lus parallel uitgevoerd. Wanneer u variabelen in lussen gebruikt, voert u de lus sequentieel uit, zodat variabelen voorspelbare resultaten retourneren.

Vereisten

In de volgende stappen wordt Azure Portal gebruikt, maar met de juiste Azure Logic Apps-extensie kunt u ook de volgende hulpprogramma's gebruiken om werkstromen voor logische apps te bouwen:

Volg de bijbehorende stappen op basis van of u een werkstroom Verbruik of Standaard hebt:

Variabele initialiseren

U kunt een variabele maken en het gegevenstype en de initiële waarde declareren met behulp van één actie in uw werkstroom. U kunt variabelen alleen op globaal niveau declareren, niet binnen bereiken, voorwaarden en lussen.

  1. Open uw werkstroom in Azure Portal in de ontwerpfunctie.

  2. Volg deze algemene stappen in de ontwerpfunctie om een actie met de naam Initialize-variabele toe te voegen.

  3. Geef de volgende informatie op over uw variabele:

    Eigenschappen Vereist Weergegeven als Beschrijving
    Naam Ja <naam van variabele> De naam van de variabele die wordt verhoogd
    Type Ja <type variabele> Het gegevenstype voor de variabele
    Waarde No <beginwaarde> De initiële waarde voor uw variabele

    Tip: Hoewel dit optioneel is, stelt u de waarde in als best practice, zodat u altijd de beginwaarde van uw variabele kent.

    In het volgende voorbeeld ziet u de initiële waarden voor deze voorbeeldvariabele:

    Schermopname van Azure Portal, Consumer-werkstroom en actie met de naam Initialize-variabele.

  4. Ga nu verder met het toevoegen van de gewenste acties voor uw scenario. Als u klaar bent, selecteert u Opslaan op de werkbalk in de ontwerper.

Als u van de ontwerpfunctie overschakelt naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele initialiseren wordt weergegeven in de werkstroomdefinitie, die de JSON-indeling (JavaScript Object Notation) heeft:

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

Notitie

Hoewel de actie Variabele initialiseren een "variables" object heeft dat is gestructureerd als een matrix, kan de actie slechts één variabele tegelijk maken. Elke nieuwe variabele vereist een individuele actie Variabele initialiseren.

In de volgende voorbeelden ziet u andere variabeletypen:

Booleaanse variabele

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

Variabele float

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

Tekenreeksvariabele

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

Objectvariabele

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

Matrix met gehele getallen

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

Matrix met tekenreeksen

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

De waarde van een variabele ophalen

Als u de inhoud van een variabele wilt ophalen of ernaar verwijzen, kunt u de functie variables() gebruiken in de werkstroomontwerper en de codeweergave-editor. Als u naar een variabele verwijst, gebruik dan de naam van de variabele als token, niet de naam van de actie, wat de gebruikelijke manier is om naar de uitvoer van een actie te verwijzen.

Met de volgende expressie worden bijvoorbeeld de items opgehaald uit de matrixvariabele die in deze handleiding is gemaakt met behulp van de variables() functie. De functie string() retourneert de inhoud van de variabele in de tekenreeksindeling: "1, 2, 3, red"

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

Variabele verhogen

Als u een variabele wilt verhogen of verhogen met een specifieke constante waarde, voegt u de actie Variabele verhogen toe aan uw werkstroom. Deze actie werkt alleen met de variabelen integer en float.

  1. Volg deze algemene stappen in de werkstroomontwerper om een actie met de naam Increment-variabele toe te voegen.

  2. Geef de volgende informatie op voor deze actie:

    Eigenschappen Vereist Weergegeven als Beschrijving
    Naam Ja <naam van variabele> De naam van de variabele die wordt verhoogd
    Waarde Nee <verhogingswaarde> De waarde die wordt gebruikt voor het verhogen van de variabele. De standaardwaarde is 1.

    Tip: Hoewel dit optioneel is, stelt u deze waarde in als best practice, zodat u altijd de specifieke waarde kent voor het verhogen van uw variabele.

    In het volgende voorbeeld ziet u de voorbeeldwaarden voor deze actie:

    Schermopname van de Azure-portal, de werkstroom Verbruik en de actie Increment-variabele.

  3. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Als u van de ontwerpfunctie overschakelt naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele verhogen wordt weergegeven in uw werkstroomdefinitie, die de JSON-indeling heeft:

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

Voorbeeld: Een lusteller maken

Variabelen worden vaak gebruikt voor het tellen van het aantal keren dat een lus wordt uitgevoerd. In dit voorbeeld ziet u hoe u variabelen voor deze taak kunt maken en gebruiken door een lus te maken waarmee de bijlagen in een e-mailbericht worden geteld.

  1. Maak in Azure Portal uw logische app-resource Verbruik met een lege werkstroom. Voeg een trigger toe die controleert op nieuwe e-mails en eventuele bijlagen.

    In dit voorbeeld wordt de Office 365 Outlook-trigger gebruikt voor Als er een nieuwe e-mail binnenkomt. U kunt deze trigger instellen om alleen te activeren als de e-mail bijlagen heeft. U kunt echter elke connector gebruiken die controleert op nieuwe e-mails met bijlagen, zoals de Outlook.com-connector.

  2. Als u in de trigger wilt controleren op bijlagen en deze bijlagen wilt doorgeven aan uw werkstroom, selecteert u Ja voor de volgende eigenschappen:

    • Alleen met bijlage
    • Bijlagen opnemen

    Schermopname van de Azure-portal, de werkstroom Verbruik en de eigenschappen die zijn geselecteerd om bijlagen te controleren en op te nemen.

  3. Voeg de actie Initialize-variabele toe om een geheel getalvariabele met de naam Count te maken waarop een beginwaarde is ingesteld0.

  4. Als u elke bijlage wilt herhalen, volgt u deze algemene stappen om een actie met de naam Voor elke lus toe te voegen.

  5. Selecteer in de lus het vak met de naam Een uitvoer uit de vorige stappen selecteren. Nadat de lijst met dynamische inhoud wordt weergegeven, selecteert u Bijlagen onder Wanneer er een nieuwe e-mail binnenkomt.

    Schermopname van verbruikswerkstroom, voor elke lus, geopende lijst met dynamische inhoud en geselecteerde uitvoer van bijlagen.

    De eigenschap Bijlagen geeft een matrix door die de e-mailbijlagen van de uitvoer van de trigger in de lus bevat voor uw werkstroom om deze te herhalen.

  6. Selecteer Een actie toevoegen in de lus Voor elke lus.

  7. Volg deze algemene stappen om een actie met de naam Increment-variabele toe te voegen aan de lus.

    Notitie

    Zorg ervoor dat de actie Variabele verhogen binnen de lus wordt weergegeven. Als de actie buiten de lus wordt weergegeven, sleept u de actie naar de lus.

  8. Selecteer in de actie Variabele verhogen de variabele Tellen in de lijst Naam. Stel de eigenschap Waarde in op 1.

    Schermopname van de werkstroom Verbruik met de geselecteerde variabele Count.

  9. Voeg onder de lus een actie toe waarmee u het aantal bijlagen ontvangt. Neem in uw actie de waarde van de variabele Aantal op, bijvoorbeeld:

    Schermopname van de werkstroom Verbruik en een actie waarmee resultaten worden verzonden.

  10. Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.

Uw werkstroom testen

  1. Als u uw werkstroom handmatig wilt activeren, volgt u de bijbehorende stap:

    Werkstroom verbruik

    Selecteer Op de werkbalk van de ontwerpwerkstroom de optie Triggeruitvoering> uitvoeren om uw werkstroom handmatig uit te voeren.

    Standaardwerkstroom

    Selecteer Overzicht in het werkstroommenu. Selecteer Uitvoeren uitvoeren> op de werkbalk.

  2. Verzend een e-mailbericht met een of meer bijlagen naar het e-mailaccount dat u in dit voorbeeld hebt gebruikt.

    Met deze stap wordt de werkstroomtrigger geactiveerd, waarmee een werkstroomexemplaren worden gemaakt en uitgevoerd. Als gevolg hiervan stuurt de werkstroom u een bericht of e-mailbericht met het aantal bijlagen in het e-mailbericht dat u hebt verzonden.

Als u van de ontwerpfunctie overschakelt naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Voor elke lus wordt weergegeven, samen met de actie Variabele verhogen in uw werkstroomdefinitie, die de JSON-indeling heeft:

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

Variable verlagen

Als u een variabele wilt verlagen of verlagen met een specifieke constante waarde, volgt u de stappen voor het verhogen van een variabele , behalve dat u in plaats daarvan de actie Decrement-variabele toevoegt aan uw werkstroom. Deze actie werkt alleen met de variabelen integer en float.

In de volgende tabel worden de gegevens voor de actie Decrement-variabele beschreven:

Eigenschappen Vereist Weergegeven als Beschrijving
Naam Ja <naam van variabele> De naam van de variabele die wordt verlaagd
Waarde Nee <verhogingswaarde> De waarde voor het verlagen van de variabele. De standaardwaarde is één.

Tip: Hoewel optioneel is het instellen van deze waarde een goede gewoonte, zodat u altijd de specifieke waarde voor het verlagen van uw variabele weet.

Als u van de ontwerpfunctie overschakelt naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele verlagen wordt weergegeven in uw werkstroomdefinitie, die de JSON-indeling heeft:

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

Variabele instellen

Als u een andere waarde wilt toewijzen aan een bestaande variabele, volgt u de stappen voor het verhogen van een variabele met de volgende uitzonderingen:

  1. Zoek en selecteer de actie Variabele instellen in plaats daarvan.

  2. Geef de variabelenaam en de waarde op die u wilt toewijzen. Zowel de nieuwe waarde als de variabele moeten hetzelfde gegevenstype hebben. De waarde is vereist omdat deze actie geen standaardwaarde heeft.

In de volgende tabel worden de gegevens voor de actie Variabele instellen beschreven:

Eigenschappen Vereist Weergegeven als Beschrijving
Naam Ja <naam van variabele> De naam van de variabele die wordt gewijzigd
Waarde Ja <nieuwe waarde> De waarde die aan de variabele wilt toewijzen. Beide moeten hetzelfde gegevenstype hebben.

Notitie

Tenzij u variabelen wilt verhogen of verlagen, kan het wijzigen van variabelen in lussen onverwachte resultaten opleveren, omdat lussen parallel of gelijktijdig worden uitgevoerd. Voor deze gevallen kunt u proberen uw lus sequentieel uit te voeren. Als u bijvoorbeeld naar de variabele waarde in de lus wilt verwijzen en dezelfde waarde wilt verwachten aan het begin en einde van die lusexemplaren, volgt u deze stappen om te wijzigen hoe de lus wordt uitgevoerd:

  1. Zoek en open de lusinstellingen in uw lus.

  2. Volg de bijbehorende stappen op basis van uw werkstroomtype:

    • Verbruik: Wijzig de instelling Gelijktijdigheidsbeheer van Uit naar Aan.

    • Standaard: Wijzig onder Algemeen de instelling Gelijktijdigheidsbeheer van Uit naar Aan.

  3. Sleep de schuifregelaar Degree of Parallelism naar 1.

Als u van de ontwerpfunctie overschakelt naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele instellen wordt weergegeven in de werkstroomdefinitie, die de JSON-indeling heeft:

In het volgende voorbeeld wordt de huidige waarde van de Count variabele gewijzigd in een andere waarde:

"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" ]
      }
   }
},

Toevoegen aan variabele

Voor variabelen waarin tekenreeksen of matrixen worden opgeslagen, kunt u de waarde van een variabele invoegen of toevoegen als het laatste item in die tekenreeksen of matrixen. U kunt de stappen voor het verhogen van een variabele volgen met de volgende uitzonderingen:

  1. Zoek en selecteer een van deze acties op basis van of uw variabele een tekenreeks of een matrix is:

    • Toevoegen aan tekenreeks-variabele
    • Toevoegen aan matrix-variabele
  2. Geef de waarde op die u wilt toevoegen als het laatste item in de tekenreeks of matrix. Deze waarde is vereist.

In de volgende tabel worden de gegevens voor de acties Toevoegen aan... beschreven:

Eigenschappen Vereist Weergegeven als Beschrijving
Naam Ja <naam van variabele> De naam van de variabele die wordt gewijzigd
Waarde Ja <toevoegingswaarde> De waarde die u wilt toevoegen, kan elk type hebben

Als u van de ontwerpfunctie overschakelt naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Toevoegen aan matrixvariabele wordt weergegeven in de werkstroomdefinitie, die de JSON-indeling heeft.

In het volgende voorbeeld wordt een matrixvariabele gemaakt en wordt een andere waarde toegevoegd als het laatste item in de matrix. Uw resultaat is een bijgewerkte variabele die deze matrix bevat: [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" ]
      }
   }
},

Volgende stappen