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

Van toepassing op: Azure Logic Apps (verbruik + standaard)

In deze handleiding ziet u hoe u variabelen maakt en gebruikt, zodat u waarden in de werkstroom van uw logische app kunt opslaan en gebruiken. Variabelen kunnen u bijvoorbeeld helpen bij het bijhouden van het aantal keren dat een lus wordt uitgevoerd. Als u een matrix wilt herhalen of een matrix wilt controleren op een specifiek item, kunt u een variabele gebruiken om te verwijzen naar het indexnummer voor elk matrixitem.

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

  • Haal de waarde van de variabele op of verwijs ernaar.
  • Verhoog of verlaag de variabele met een constante waarde, ook wel verhoging en verlaging genoemd.
  • Wijs een andere waarde toe aan de variabele.
  • Voeg de waarde van de variabele in of voeg deze toe als het laatste item in een tekenreeks of matrix.

Variabelen bestaan en zijn alleen globaal binnen het werkstroomexemplaar waarmee ze worden gemaakt. Ze blijven ook behouden voor alle lus-iteraties binnen een werkstroomexemplaar. Wanneer u naar een variabele verwijst, gebruikt u de naam van de variabele als het token, niet de naam van de actie. Dit is de gebruikelijke manier om te verwijzen naar de uitvoer van een actie.

Belangrijk

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

Vereisten

  • Een Azure-account en -abonnement. Als u geen abonnement hebt, meldt u zich aan voor een gratis Azure-account.

  • Een werkstroom van een logische app waarin u de variabele wilt maken en een trigger waarmee de werkstroom wordt gestart.

    Voordat u acties kunt toevoegen voor het maken van en werken met variabelen, moet uw werkstroom beginnen met een trigger als eerste stap in uw werkstroom. Zie Een werkstroom bouwen met een trigger of actie voor meer informatie.

In de volgende stappen wordt de 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 maken:

Op basis van of u een verbruiks- of standaardwerkstroom hebt, volgt u de bijbehorende stappen:

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 declareren op globaal niveau, niet binnen bereiken, voorwaarden en lussen.

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

  2. Volg in de ontwerpfunctie deze algemene stappen om een actie toe te voegen met de naam Variabele initialiseren.

  3. Geef de volgende informatie op over uw variabele:

    Eigenschap Vereist Waarde Beschrijving
    Naam Ja <variabelenaam> De naam voor de variabele die moet worden verhoogd
    Type Ja <variable-type> Het gegevenstype voor de variabele
    Waarde Nee <beginwaarde> De beginwaarde van uw variabele

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

    In het volgende voorbeeld ziet u de beginwaarden voor deze voorbeeldvariabele:

    Schermopname van Azure Portal, werkstroom voor consumenten en actie met de naam Variabele initialiseren.

  4. Ga nu verder met het toevoegen van de gewenste acties voor uw scenario. Selecteer Opslaan op de werkbalk van de ontwerper wanneer u klaar bent.

Als u overschakelt van de ontwerpfunctie naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele initialiseren wordt weergegeven in uw 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 met de actie slechts één variabele tegelijk worden gemaakt. Voor elke nieuwe variabele is een afzonderlijke actie voor het initialiseren van de variabele vereist.

In de volgende voorbeelden ziet u andere typen variabelen:

Booleaanse variabele

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

Floatvariabele

"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 wilt verwijzen, kunt u de functie variables() gebruiken in de werkstroomontwerper en de codeweergave-editor. Wanneer u naar een variabele verwijst, gebruikt u de naam van de variabele als het token, niet de naam van de actie. Dit is de gebruikelijke manier om te verwijzen naar de uitvoer van een actie.

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 string() functie retourneert de inhoud van de variabele in tekenreeksindeling: "1, 2, 3, red"

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

Increment-variabele

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 gehele getallen en floatvariabelen.

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

  2. Geef de volgende informatie op voor deze actie:

    Eigenschap Vereist Waarde Beschrijving
    Naam Ja <variabele-naam> De naam voor de variabele die moet worden verhoogd
    Waarde Nee <increment-value> 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 voor het verhogen van uw variabele kent.

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

    Schermopname van Azure Portal, verbruikswerkstroom en actie met de naam Increment-variabele.

  3. Sla uw werkstroom op wanneer u klaar bent. Selecteer Opslaan op de werkbalk van de ontwerper.

Als u overschakelt van de ontwerpfunctie 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: 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 de Azure Portal uw logische app-resource Verbruik met een lege werkstroom. Voeg een trigger toe die controleert op nieuwe e-mail en eventuele bijlagen.

    In dit voorbeeld wordt de Office 365 Outlook-trigger gebruikt voor Wanneer er een nieuwe e-mail binnenkomt. U kunt instellen dat deze trigger alleen wordt geactiveerd wanneer het e-mailbericht bijlagen bevat. U kunt echter elke connector gebruiken die controleert op nieuwe e-mailberichten met bijlagen, zoals de connector Outlook.com.

  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 Azure Portal, verbruikswerkstroom en eigenschappen die zijn geselecteerd om te controleren op bijlagen en deze op te nemen.

  3. Voeg de actie Variabele initialiseren toe om een geheel getalvariabele met de naam Aantal te maken waarvoor een beginwaarde is ingesteld op 0.

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

  5. Selecteer in de lus in het vak 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 de werkstroom Verbruik, voor elke lus, geopende lijst met dynamische inhoud en uitvoer van bijlagen geselecteerd.

    Met de eigenschap Bijlagen wordt een matrix met de e-mailbijlagen van de uitvoer van de trigger doorgegeven aan de lus zodat uw werkstroom kan worden herhaald.

  6. Selecteer in de lus Voor elkede optie Een actie toevoegen.

  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 wordt weergegeven in de lus. Als de actie buiten de lus wordt weergegeven, sleept u de actie naar de lus.

  8. Selecteer in de actie Variabele verhogen in de lijst Naam de variabele Aantal . Stel de eigenschap Value in op 1.

    Schermopname van de werkstroom Verbruik met de geselecteerde variabele met de naam Aantal.

  9. Voeg onder de lus een actie toe die u het aantal bijlagen stuurt. Neem in uw actie de waarde op van de variabele Count , bijvoorbeeld:

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

  10. Sla uw werkstroom op wanneer u klaar bent. Selecteer Opslaan op de werkbalk van de ontwerper.

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 Trigger>uitvoeren Uitvoeren om uw werkstroom handmatig uit te voeren.

    Standaardwerkstroom

    Selecteer Overzicht in het werkstroommenu. Selecteer Uitvoeren uitvoeren> op dewerkbalk.

  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 overschakelt van de ontwerpfunctie naar de codeweergave, ziet u in het volgende voorbeeld hoe de lus Voor elke 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" ]
      }
   }
},

Variabele voor 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 Variabele verlagen toevoegt aan uw werkstroom. Deze actie werkt alleen met gehele getallen en floatvariabelen.

In de volgende tabel wordt de informatie voor de actie Variabele verlagen beschreven:

Eigenschap Vereist Waarde Beschrijving
Naam Ja <variabele-naam> De naam voor de variabele die moet worden afgebroken
Waarde Nee <increment-value> De waarde voor het verlagen van de variabele. De standaardwaarde is één.

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

Als u overschakelt van de ontwerpfunctie naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele verlagen wordt weergegeven in de 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 in plaats daarvan de actie Variabele instellen .

  2. Geef de naam en waarde op van de variabele 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:

Eigenschap Vereist Waarde Beschrijving
Naam Ja <variabele-naam> De naam voor de variabele die moet worden gewijzigd
Waarde Ja <new-value> De waarde die u 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 standaard parallel of gelijktijdig worden uitgevoerd. Voor deze gevallen kunt u de lus zo instellen dat deze sequentieel wordt uitgevoerd. Als u bijvoorbeeld wilt verwijzen naar de waarde van de variabele in de lus en dezelfde waarde verwacht aan het begin en einde van dat lusexemplaren, volgt u deze stappen om de uitvoering van de lus te wijzigen:

  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 in Aan.

    • Standaard: wijzig onder Algemeen de instelling Gelijktijdigheidsbeheer van Uit in Aan.

  3. Sleep de schuifregelaar Mate van parallellisme naar 1.

Als u overschakelt van de ontwerpfunctie naar de codeweergave, ziet u in het volgende voorbeeld hoe de actie Variabele instellen wordt weergegeven in uw 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 matrices worden opgeslagen, kunt u de waarde van een variabele invoegen of toevoegen als het laatste item in die tekenreeksen of matrices. U kunt de stappen volgen voor het verhogen van een variabele met de volgende uitzonderingen:

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

    • Toevoegen aan tekenreeksvariabele
    • Toevoegen aan matrixvariabele
  2. Geef de waarde op die u wilt toevoegen als laatste item in de tekenreeks of matrix. Deze waarde is verplicht.

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

Eigenschap Vereist Waarde Beschrijving
Naam Ja <variabele-naam> De naam voor de variabele die moet worden gewijzigd
Waarde Ja <toevoegwaarde> De waarde die u wilt toevoegen, die elk type kan hebben

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

In het volgende voorbeeld wordt een matrixvariabele gemaakt en wordt een andere waarde toegevoegd als laatste item in de matrix. Het 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