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

Variablen sind nur innerhalb der Workflowinstanz, von der sie erstellt werden, vorhanden und global. Außerdem bleiben sie in allen Schleifeniterationen innerhalb einer Workflowinstanz 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:

Einige Schritte unterscheiden sich geringfügig, je nachdem, ob Sie über einen Verbrauchs- oder Standardworkflow verfügen.

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 im Azure-Portal Ihren Logik-App-Workflow im Designer.

  2. Führen Sie im Designer die folgenden allgemeinen Schritte für Verbrauchs oder Standard Workflows aus, um eine Aktion mit dem Namen Variablen initialisieren hinzuzufügen.

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

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Name Ja < Variablenname> Der Name der zu initialisierenden Variablen
    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.

    Wenn Sie mehrere Variablen gleichzeitig erstellen möchten, wählen Sie "Variable hinzufügen" aus.

    Das folgende Beispiel zeigt die Anfangswerte für diese Beispielvariable:

    Screenshot des Azure-Portals und eines Logik-App-Workflows mit einer Aktion mit dem Namen

  4. Fügen Sie weiterhin die gewünschten Aktionen für Ihr Szenario hinzu. Wenn Sie fertig sind, wählen Sie auf der Symbolleiste des Designers die Option Speichern aus.

Wenn Sie vom Designer zur Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion "Variablen initialisieren " in Ihrer Workflowdefinition angezeigt wird, die sich im Json-Format (JavaScript Object Notation) befindet:

"actions": {
   "Initialize_variable": {
      "type": "InitializeVariable",
      "inputs": {
         "variables": [ 
            {
               "name": "Count",
               "type": "Integer",
               "value": 0
            }
         ]
      },
      "runAfter": {}
   }
}

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": {}
   }
},

Object-Variable

"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 Variablen abzurufen oder darauf zu verweisen, können Sie die variables() Funktion im Workflow-Designer und im Codeansichts-Editor 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 beispielsweise die Elemente aus der Arrayvariable ab, die Sie in dieser Anleitung mithilfe der variables() Funktion erstellen. Die string() Funktion 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 schrittweise zu erhöhen, 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 Designer die folgenden allgemeinen Schritte für Verbrauchs- oder Standardworkflows 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 festzulegen, 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 und eines Logik-App-Workflows mit einer Aktion namens

  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 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 zum Suchen nach Anlagen und Übergeben dieser Anlagen an Ihren Workflow für die folgenden Eigenschaften Ja aus:

    • Nur mit Anhang
    • Anlagen einschließen

    Der Screenshot zeigt das Azure-Portal und einen Logik-App-Workflow mit ausgewählten Eigenschaften des Office 365 Outlook-Triggers, um Anlagen zu überprüfen und einzubeziehen.

  3. Fügen Sie die Aktion "Variablen initialisieren" hinzu, um eine ganzzahlige Variable namens "Anzahl" zu erstellen, die einen Startwert auf 0 festgelegt hat.

  4. Führen Sie im Designer die folgenden allgemeinen Schritte für Verbrauchs- oder Standardworkflows aus, um eine Aktion namens For each-Schleife hinzuzufügen.

  5. Wählen Sie in der Schleife im Feld " Ausgabe aus vorherigen Schritten auswählen" aus, um die Eingabeoptionen anzuzeigen. Wählen Sie das Blitzsymbol aus, um die dynamische Inhaltsliste anzuzeigen. Wählen Sie in der Liste unter "Wenn eine neue E-Mail eintrifft" die Option "Anlagen" aus.

    Screenshot: Azure-Portal- und Logik-App-Workflow mit einer „For each“-Schleife, geöffneter Liste dynamischer Inhalte und ausgewählter Anlagenausgabe.

    Die Eigenschaft Anlagen ü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 für den Verbrauchs- oder Standardworkflow aus, um der Schleife eine Aktion hinzuzufügen, die als Variable schrittweise erhöhen bezeichnet wird.

    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 Azure-Portals und des Logik-App-Workflows mit einer ausgewählten Variablen mit dem Namen

  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: Azure-Portal- und Logik-App-Workflow mit 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 des Workflows

  1. Um den Workflow manuell auszulösen, wählen Sie auf der Designersymbolleiste "Ausführen"> aus, um den Workflow manuell auszuführen.

  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, 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 Variablenwert verringern beschrieben:

Eigenschaft Erforderlich Wert BESCHREIBUNG
Name Ja < Variablenname> Der Name für die zu verringernde Variable
Wert Nein < Dekrementwert> 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. Wählen Sie Ihre Schleife aus, um den Informationsbereich anzuzeigen, und wählen Sie dann "Einstellungen" aus.

  2. Ändern Sie im Abschnitt Allgemein unter Nebenläufigkeitssteuerung die Einstellung von Aus in Ein.

  3. Ziehen Sie den Schieberegler für den Grad der Parallelität 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 Aktionen vom Typ Anfügen an... 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 anfügen 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" ]
      }
   }
},