Freigeben über


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 andere Aufgaben ausführen, z. B.:

  • Abrufen oder Referenzieren des Variablenwerts.
  • Erhöhen oder verringern Sie die Variable um einen konstanten Wert, der auch als Inkrementieren und Dekrementieren bezeichnet wird.
  • Einen unterschiedlichen Wert der Variablen zuweisen.
  • 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

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:

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.

  1. Öffnen Sie Ihren Workflow im Azure-Portal im Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte aus, um eine Aktion namens Variable initialisieren hinzuzufügen.

  3. Geben Sie die folgenden Informationen zu Ihrer Variablen an:

    Eigenschaft Erforderlich Wert Beschreibung
    Name Ja <variable-name> Der Name für die zu erhöhende Variable
    Typ Ja <variable-type> Die Variable für den Datentyp
    Wert Nein <start-value> 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:

    Screenshot des Azure-Portals mit Consumerworkflow und Aktion namens „Variable initialisieren“.

  4. 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“.

  1. Führen Sie im Workflow-Designer die folgenden allgemeinen Schritte aus, um eine Aktion namens Variable schrittweise erhöhen hinzuzufügen.

  2. Geben Sie für diese Aktion die folgenden Informationen an:

    Eigenschaft Erforderlich Wert Beschreibung
    Name Ja <variable-name> Der Name der festzulegenden Variablen für die Erhöhung
    Farbe Nein <increment-value> 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:

    Screenshot des Azure-Portals mit Verbrauchsworkflow und Aktion namens „Variable schrittweise erhöhen“.

  3. 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.

  1. 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 Auslöser so einrichten, dass er nur ausgelöst wird, wenn die E-Mail Anhänge 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.

  2. 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

    Screenshot des Azure-Portals mit Verbrauchsworkflow und ausgewählten Eigenschaften zum Überprüfen auf und Einschließen von Anlagen.

  3. Fügen Sie die Aktion Variable initialisieren hinzu, um eine ganzzahlige Variable namens Count (Anzahl) zu erstellen, deren Startwert auf 0 festgelegt ist.

  4. Zum Durchlaufen jeder Anlage führen Sie die folgenden allgemeinen Schritte aus, um eine Aktion namens For each-Schleife hinzuzufügen.

  5. 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.

    Screenshot des Verbrauchsworkflows mit „For each“-Schleife, geöffneter Liste mit dynamischen Inhalten und ausgewählter Ausgabe „Anlagen“.

    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.

  6. Wählen Sie in der For Each-Schleife den Befehl Aktion hinzufügen aus.

  7. Führen Sie die folgenden allgemeinen Schritte aus, um der Schleife eine Aktion namens Variable schrittweise erhöhen hinzuzufügen.

    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.

  8. 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.

    Screenshot des Verbrauchsworkflows mit ausgewählter Variable namens „Count“.

  9. 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.:

    Screenshot des Verbrauchsworkflows und einer Aktion, die Ergebnisse sendet.

  10. Wenn Sie fertig sind, speichern Sie Ihren Workflow. Wählen Sie auf der Symbolleiste des Designers Speichern aus.

Testen Ihres Workflows

  1. 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.

  2. 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 <variable-name> Der Name der festzulegenden Variablen für die Verkleinerung
Farbe Nein <increment-value> Der Wert, der zum Verkeinern der Variablen verwendet wird. 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:

  1. Suchen und wählen Sie in diesem Fall stattdessen die Aktion Variable festlegen.

  2. Geben Sie den Variablennamen und den Wert an, den Sie zuweisen möchten. Sowohl der neue Wert als auch die Variable müssen denselben Datentyp haben. 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 <variable-name> Der Name der festzulegenden Variablen für die Änderung
Farbe Ja <new-value> Der Wert, den Sie der Variablen zuweisen möchten. Beide müssen denselben Datentyp haben.

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:

  1. Suchen Sie in der Schleife die Schleifeneinstellungen, und öffnen Sie diese.

  2. 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.

  3. 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:

  1. Suchen und wählen Sie eine dieser Aktionen basierend darauf, ob Ihre Variable eine Zeichenfolge oder ein Array ist:

    • An Zeichenfolgenvariable anfügen
    • Variablen zu Zeichenfolgen anfügen
  2. Geben Sie den Wert an, der als letztes Element in der Zeichenfolge oder im Array angehängt 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 <variable-name> Der Name der festzulegenden Variablen für die Änderung
Farbe Ja <append-value> 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" ]
      }
   }
},

Nächste Schritte