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

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

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

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

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

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

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

  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
    • An Arrayvariable anfügen
  2. 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" ]
      }
   }
},

Nächste Schritte