Erstellen von Variablen zum Speichern und Verwalten von Werten in Azure Logic Apps
Gilt für: Azure Logic Apps (Verbrauch + Standard)
In dieser Schrittanleitung erfahren Sie, wie Sie Variablen erstellen und damit arbeiten, sodass Sie Werte in Ihrem Logik-App-Workflow speichern und verwenden können. Beispielsweise können Sie mithilfe von Variablen nachverfolgen, wie oft eine Schleife ausgeführt wird. Um ein Array zu durchlaufen oder ein Array auf ein bestimmtes Element zu überprüfen, können Sie eine Variable verwenden, um auf die Indexnummern für die einzelnen Arrayelemente zu verweisen.
Variablen können für Datentypen wie „integer“, „float“, „boolean“, „string“, „array“ und „object“ erstellt werden. Nachdem Sie eine Variable erstellt haben, können Sie weitere Aufgaben ausführen, wie z.B.:
- Abrufen des Werts einer Variablen oder Verweisen auf den Wert
- Erhöhen oder Verringern der Variable um einen konstanten Wert (increment und decrement)
- Zuweisen eines anderen Werts zu der Variablen
- Einfügen oder Anfügen des Variablenwerts als letztes Element in einer Zeichenfolge oder einem Array
Vorhandene Variablen sind nur innerhalb der Workflowinstanz global, von der sie erstellt werden. Außerdem bleiben sie über alle Schleifeniterationen innerhalb einer Workflowinstanz hinweg bestehen. Wenn Sie auf eine Variable verweisen, verwenden Sie den Namen der Variablen als Token und nicht den Namen der Aktion, was die übliche Vorgehensweise wäre, um auf die Ausgaben einer Aktion zu verweisen.
Wichtig
Standardmäßig werden die Iterationen in einer „For each“-Schleife parallel ausgeführt. Wenn Sie Variablen in Schleifen verwenden, führen Sie die Schleife sequenziell aus, damit Variablen vorhersagbare Ergebnisse zurückgeben.
Voraussetzungen
Ein Azure-Konto und ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.
Ein Logik-App-Workflow, in dem Sie die Variable erstellen möchten, und ein Trigger, der den Workflow startet.
Bevor Sie Aktionen zum Erstellen von und Arbeiten mit Variablen hinzufügen können, muss Ihr Workflow als erster Schritt im Workflow mit einem Trigger beginnen. Weitere Informationen finden Sie unter Erstellen eines Workflows mit einem Trigger oder einer Aktion.
In den folgenden Schritte wird das Azure-Portal verwendet. Mit der entsprechenden Azure Logic Apps-Erweiterung können Sie aber auch die folgenden Tools verwenden, um Logik-App-Workflows zu erstellen:
Verbrauchslogik-App-Workflows: Visual Studio oder Visual Studio Code
Standardlogik-App-Workflows: Visual Studio Code
Je nachdem, ob Sie über einen Verbrauchs- oder Standardworkflow verfügen, führen Sie die entsprechenden Schritte aus:
Initialisieren einer Variablen
Sie können eine Variable erstellen und ihren Datentyp und Anfangswert deklarieren, indem Sie eine einzige Aktion in Ihrem Workflow verwenden. Variablen können nur auf globaler Ebene deklariert werden, nicht innerhalb von Bereichen, Bedingungen und Schleifen.
Öffnen Sie Ihren Workflow im Azure-Portal im Designer.
Führen Sie im Designer die folgenden allgemeinen Schritte aus, um eine Aktion namens Variable initialisieren hinzuzufügen.
Geben Sie die folgenden Informationen zu Ihrer Variablen an:
Eigenschaft Erforderlich Wert BESCHREIBUNG Name Ja < Variablenname> Der Name für die zu erhöhende Variable Typ Ja < Variablentyp> Der Datentyp für die Variable Wert Nein < Anfangswert> Der Anfangswert für die Variable
Tipp: Obwohl es sich um eine optionale Einstellung handelt, ist es eine bewährte Methode, den Wert festzulegen, damit Sie immer den Anfangswert Ihrer Variablen kennen.Das folgende Beispiel zeigt die Anfangswerte für diese Beispielvariable:
Fahren Sie nun damit fort, dass Sie die für Ihr Szenario gewünschten Aktionen hinzufügen. Wenn Sie fertig sind, wählen Sie auf der Symbolleiste des Designers die Option Speichern aus.
Wenn Sie vom Designer in die Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion Variable initialisieren in Ihrer Workflowdefinition angezeigt wird, die im JSON-Format (JavaScript Object Notation) vorliegt:
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "Count",
"type": "Integer",
"value": 0
}
]
},
"runAfter": {}
}
},
Hinweis
Obwohl die Aktion Variable initialisieren ein "variables"
-Objekt aufweist, das als Array strukturiert ist, kann die Aktion jeweils nur eine Variable gleichzeitig erstellen. Jede neue Variable erfordert eine einzelne Aktion Variable initialisieren.
Die folgenden Beispiele zeigen andere Variablentypen:
Boolean-Variable
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myBooleanVariable",
"type": "boolean",
"value": false
}
]
},
"runAfter": {}
}
},
Float-Variable
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myFloatVariable",
"type": "float",
"value": 1.99999
}
]
},
"runAfter": {}
}
},
String-Variable
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myStringVariable",
"type": "string",
"value": "lorem ipsum"
}
]
},
"runAfter": {}
}
},
Objektvariable
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "MyObjectVariable",
"type": "object",
"value": {
"ProductItem": {
"Name": "myProductName",
"ProductID": "000000"
}
}
}
]
},
"runAfter": {}
}
},
Array mit Integern
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": [1, 2, 3]
}
]
},
"runAfter": {}
}
},
Array mit Zeichenfolgen
"actions": {
"Initialize_variable": {
"type": "InitializeVariable",
"inputs": {
"variables": [
{
"name": "myArrayVariable",
"type": "array",
"value": ["red", "orange", "yellow"]
}
]
},
"runAfter": {}
}
},
Abrufen des Werts einer Variablen
Um den Inhalt einer Variable abzurufen oder darauf zu verweisen, können Sie im Workflow-Designer und im Codeansichts-Editor die „variables()“-Funktion verwenden. Wenn Sie auf eine Variable verweisen, verwenden Sie den Namen der Variablen als Token und nicht den Namen der Aktion, was die übliche Vorgehensweise wäre, um auf die Ausgaben einer Aktion zu verweisen.
Der folgende Ausdruck ruft zum Beispiel die Elemente aus der Arrayvariablen ab, die in diesem Leitfaden mit der variables()
-Funktion erstellt wurde. Die Funktion string()
gibt den Inhalt der Variablen im Zeichenfolgenformat zurück: "1, 2, 3, red"
@{string(variables('myArrayVariable'))}
Erhöhen eines Variablenwerts
Um eine Variable um einen bestimmten konstanten Wert zu erhöhen oder zu inkrementieren, fügen Sie die Aktion Variable schrittweise erhöhen zu Ihrem Workflow hinzu. Diese Aktion funktioniert nur bei den Variablen „integer“ und „float“.
Führen Sie im Workflow-Designer die folgenden allgemeinen Schritte aus, um eine Aktion namens Variable schrittweise erhöhen hinzuzufügen.
Geben Sie für diese Aktion die folgenden Informationen an:
Eigenschaft Erforderlich Wert BESCHREIBUNG Name Ja < Variablenname> Der Name für die zu erhöhende Variable Wert Nein < Inkrementwert> Der zum Erhöhen der Variablen verwendete Wert. Standardwert: 1
.
Tipp: Obwohl es sich um eine optionale Einstellung handelt, ist es eine bewährte Methode, diesen Wert einzustellen, damit Sie immer den spezifischen Wert für die schrittweise Erhöhung Ihrer Variablen kennen.Das folgende Beispiel zeigt die Beispielwerte für diese Aktion:
Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Wenn Sie vom Designer in die Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion Variable schrittweise erhöhen in Ihrer Workflowdefinition angezeigt wird, die im JSON-Format vorliegt:
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Beispiel: Erstellen eines Schleifenzählers
Variablen werden häufig verwendet, um die Anzahl der Durchläufe einer Schleife zu zählen. Dieses Beispiel zeigt, wie Sie Variablen für diese Aufgabe erstellen und verwenden können, indem Sie eine Schleife erstellen, die die Anlagen in einer E-Mail zählt.
Erstellen Sie im Azure-Portal Ihre Verbrauchs-Logik-App-Ressource mit einem leeren Workflow. Fügen Sie einen Trigger hinzu, der nach neuen E-Mails und Anlagen sucht.
In diesem Beispiel wird der Office 365 Outlook-Trigger für Wenn eine neue E-Mail empfangen wird verwendet. Sie können diesen Trigger so einstellen, dass er nur dann ausgelöst wird, wenn die E-Mail Anlagen enthält. Es ist auch möglich, einen beliebigen Connector zu verwenden, der nach neuen E-Mails mit Anlagen sucht, wie z. B. der Outlook.com-Connector.
Wählen Sie in dem Trigger, um nach Anlagen zu suchen und diese an Ihren Workflow zu übergeben, für die folgenden Eigenschaften Ja aus:
- Nur mit Anlage
- Anlagen einschließen
Fügen Sie die Aktion Variable initialisieren hinzu, um eine ganzzahlige Variable namens Count (Anzahl) zu erstellen, deren Startwert auf
0
festgelegt ist.Zum Durchlaufen jeder Anlage führen Sie die folgenden allgemeinen Schritte aus, um eine Aktion namens For each-Schleife hinzuzufügen.
Klicken Sie in der Schleife in das Feld Ausgabe von vorherigen Schritten auswählen. Nachdem die Liste mit den dynamischen Inhalten angezeigt wurde, wählen Sie unter Wenn eine neue E-Mail eingeht die Eigenschaft Anlagen aus.
Die Attachments-Eigenschaft übergibt ein Array, das die E-Mail-Anlagen aus der Ausgabe des Triggers enthält, in die Schleife, damit Ihr Workflow diese durchläuft.
Wählen Sie in der For Each-Schleife den Befehl Aktion hinzufügen aus.
-
Hinweis
Stellen Sie sicher, dass die Aktion Variable schrittweise erhöhen innerhalb der Schleife angezeigt wird. Wenn die Aktion außerhalb der Schleife erscheint, ziehen Sie sie in die Schleife.
Wählen Sie in der Aktion Variable schrittweise erhöhen in der Liste Name die Variable Anzahl aus. Legen Sie die Value-Eigenschaft auf
1
fest.Fügen Sie unter der Schleife eine beliebige Aktion hinzu, die Ihnen die Anzahl der Anlagen sendet. Nehmen Sie in Ihre Aktion den Wert aus der Variablen Anzahl auf, wie z.B.:
Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.
Testen Ihres Workflows
Führen Sie den entsprechenden Schritt aus, um Ihren Workflow manuell auszulösen:
Verbrauchsworkflow
Wählen Sie auf der Workflowsymbolleiste des Designers Trigger ausführen>Ausführen aus, um Ihren Workflow manuell auszuführen.
Standardworkflow
Wählen Sie im Menü „Workflow“ die Option Übersicht aus. Wählen Sie auf der Symbolleiste Ausführen>Ausführen aus.
Senden Sie eine E-Mail mit einer oder mehreren Anlagen an das in diesem Beispiel verwendete E-Mail-Konto.
Dieser Schritt löst den Workflowtrigger aus, der eine Workflowinstanz erstellt und ausführt. Als Ergebnis sendet Ihnen der Workflow eine Nachricht oder E-Mail, die die Anzahl der Anlagen in der von Ihnen gesendeten E-Mail enthält.
Wenn Sie vom Designer in die Codeansicht wechseln, zeigt das folgende Beispiel, wie die For each-Schleife zusammen mit der Aktion Variable schrittweise erhöhen in Ihrer Workflowdefinition angezeigt wird, die im JSON-Format vorliegt:
"actions": {
"For_each": {
"type": "Foreach",
"actions": {
"Increment_variable": {
"type": "IncrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
"foreach": "@triggerBody()?['Attachments']",
"runAfter": {
"Initialize_variable": [ "Succeeded" ]
}
}
},
Verringern eines Variablenwerts
Um eine Variable um einen bestimmten konstanten Wert zu verringern oder zu dekrementieren, folgen Sie den Schritten zum schrittweisen Erhöhen einer Variablen, wobei Sie in diesem Fall Ihrem Workflow stattdessen die Aktion Variablenwert verringern hinzufügen. Diese Aktion funktioniert nur bei den Variablen „integer“ und „float“.
In der folgenden Tabelle werden die Informationen für die Aktion Variable verringern beschrieben:
Eigenschaft | Erforderlich | Wert | BESCHREIBUNG |
---|---|---|---|
Name | Ja | < Variablenname> | Der Name für die zu verringernde Variable |
Wert | Nein | < Inkrementwert> | Der zum Verringern der Variablen verwendete Wert. Der Standardwert ist eins. Tipp: Obwohl es sich um eine optionale Einstellung handelt, ist es eine bewährte Methode, diesen Wert einzustellen, damit Sie immer den spezifischen Wert für die schrittweise Verringerung Ihrer Variablen kennen. |
Wenn Sie vom Designer in die Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion Variablenwert verringern in Ihrer Workflowdefinition angezeigt wird, die im JSON-Format vorliegt:
"actions": {
"Decrement_variable": {
"type": "DecrementVariable",
"inputs": {
"name": "Count",
"value": 1
},
"runAfter": {}
}
},
Festlegen der Variablen
Um einer vorhandenen Variablen einen anderen Wert zuzuweisen, folgen Sie den Schritten zum schrittweisen Erhöhen einer Variablen, mit den folgenden Ausnahmen:
Suchen und wählen Sie in diesem Fall stattdessen die Aktion Variable festlegen.
Geben Sie den zuzuweisenden Variablennamen und Wert an. Sowohl der neue Wert als auch die Variable müssen den gleichen Datentyp aufweisen. Der Wert wird benötigt, da für diese Aktion kein Standardwert vorhanden ist.
In der folgenden Tabelle werden die Informationen für die Aktion Variable festlegen beschrieben:
Eigenschaft | Erforderlich | Wert | BESCHREIBUNG |
---|---|---|---|
Name | Ja | < Variablenname> | Der Name für die zu ändernde Variable |
Wert | Ja | < Neuer-Wert> | Der Wert, der der Variable zugewiesen werden soll. Beide müssen den gleichen Datentyp aufweisen. |
Hinweis
Wenn Sie keine Variablen inkrementieren oder dekrementieren, kann das Ändern von Variablen innerhalb von Schleifen zu unerwarteten Ergebnissen führen, da Schleifen standardmäßig parallel oder gleichzeitig ausgeführt werden. Versuchen Sie in diesen Fällen, Ihre Schleife so einzustellen, dass sie sequenziell ausgeführt wird. Wenn Sie beispielsweise auf den Variablenwert innerhalb der Schleife verweisen wollen und am Anfang und am Ende der Schleifeninstanz den gleichen Wert erwarten, folgen Sie diesen Schritten, um die Ausführung der Schleife zu ändern:
Suchen Sie in der Schleife die Schleifeneinstellungen, und öffnen Sie diese.
Führen Sie basierend auf Ihrem Workflowtyp die entsprechenden Schritte aus:
Verbrauch: Ändern Sie die Einstellung Gleichzeitigkeitssteuerung von Aus in Ein.
Standard: Ändern Sie unter Allgemein die Einstellung Gleichzeitigkeitssteuerung von Aus in Ein.
Ziehen Sie den Schieberegler Parallelitätsgrad auf 1.
Wenn Sie vom Designer in die Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion Variable festlegen in Ihrer Workflowdefinition angezeigt wird, die im JSON-Format vorliegt:
Im folgenden Beispiel wird der aktuelle Wert der Variablen Count
in einen anderen Wert geändert:
"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" ]
}
}
},
Anfügen an Variable
Bei Variablen, die Strings oder Arrays speichern, können Sie den Wert einer Variablen als letztes Element in diesen Zeichenfolgen oder Arrays anfügen oder anhängen. Sie können die Schritte zum schrittweisen Erhöhen einer Variablen mit den folgenden Ausnahmen ausführen:
Suchen und wählen Sie eine dieser Aktionen basierend darauf, ob Ihre Variable eine Zeichenfolge oder ein Array ist:
- An Zeichenfolgenvariable anfügen
- An Arrayvariable anfügen
Geben Sie den Wert an, der als letztes Element in der Zeichenfolge oder im Array angefügt werden soll. Dieser Wert ist erforderlich.
In der folgenden Tabelle werden die Informationen für die Anfügen an...-Aktionen beschrieben:
Eigenschaft | Erforderlich | Wert | BESCHREIBUNG |
---|---|---|---|
Name | Ja | < Variablenname> | Der Name für die zu ändernde Variable |
Wert | Ja | < Anzufügender-Wert> | Der anzufügende Wert, der von einem beliebigen Typ sein kann. |
Wenn Sie vom Designer in die Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion An Arrayvariable anhängen in Ihrer Workflowdefinition angezeigt wird, die im JSON-Format vorliegt.
Im folgenden Beispiel wird eine Arrayvariable erstellt und ein weiterer Wert als letztes Element im Array hinzugefügt. Das Ergebnis ist eine aktualisierte Variable, die dieses Array enthält: [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" ]
}
}
},