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
Een Azure-account en -abonnement. Als u geen abonnement hebt, meldt u zich aan voor een gratis Azure-account.
Een werkstroom voor logische apps waarin u de variabele en een trigger wilt maken waarmee de werkstroom wordt gestart.
Voordat u acties voor het maken en werken met variabelen kunt toevoegen, 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 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:
- Werkstromen voor verbruik: Visual Studio Code
- Standaardwerkstromen: Visual Studio Code
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.
Open uw werkstroom in Azure Portal in de ontwerpfunctie.
Volg deze algemene stappen in de ontwerpfunctie om een actie met de naam Initialize-variabele toe te voegen.
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:
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.
Volg deze algemene stappen in de werkstroomontwerper om een actie met de naam Increment-variabele toe te voegen.
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:
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.
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.
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
Voeg de actie Initialize-variabele toe om een geheel getalvariabele met de naam Count te maken waarop een beginwaarde is ingesteld
0
.Als u elke bijlage wilt herhalen, volgt u deze algemene stappen om een actie met de naam Voor elke lus toe te voegen.
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.
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.
Selecteer Een actie toevoegen in de lus Voor elke lus.
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.
Selecteer in de actie Variabele verhogen de variabele Tellen in de lijst Naam. Stel de eigenschap Waarde in op
1
.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:
Sla uw werkstroom op als u gereed bent. Selecteer in de werkbalk van de ontwerper Opslaan.
Uw werkstroom testen
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.
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:
Zoek en selecteer de actie Variabele instellen in plaats daarvan.
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:
Zoek en open de lusinstellingen in uw lus.
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.
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:
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
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" ]
}
}
},