Erstellen Sie Variablen, um Werte in Azure Logic Apps zu speichern und weiterzugeben

Gilt für: Azure Logic Apps (Verbrauch + Standard)

Um Werte in Ihrem Workflow zu speichern und zu übergeben, erstellen Sie Variablen. Variablen unterstützen ganzzahlige, float-, boolesche Werte, String-, Array- und Objektwerte.

Beispielsweise können Sie mithilfe von Variablen nachverfolgen, wie oft eine Schleife ausgeführt wird. Um über ein Array zu iterieren oder ein Array für ein bestimmtes Element zu überprüfen, verwenden Sie eine Variable, um die Indexnummer für jedes Array-Element zu referenzieren.

Nachdem du eine Variable erstellt hast, wähle eine Aufgabe aus:

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Erhalten Sie ein kostenloses Azure-Konto.

  • Der Logik-App-Workflow, bei dem du die Variable erstellen möchtest, einschließlich eines Triggers, der den Workflow startet.

    Bevor Sie Aktionen zum Erstellen und Arbeiten mit Variablen hinzufügen können, muss Ihr Workflow mit einem Trigger als ersten Schritt beginnen.

    Dieser Leitfaden verwendet das Azure-Portal, aber Sie können Visual Studio Code und die entsprechende Azure Logic Apps-Erweiterung verwenden, um Logik-App-Workflows zu erstellen:

Überlegungen zur Arbeit mit Variablen

  • Standardmäßig laufen für jede Schleife die Iterationen parallel. Um sicherzustellen, dass Variablen in einer Schleife vorhersehbare Ergebnisse liefern, führen Sie die Schleife sequentiell aus.

  • Variablen existieren und sind nur innerhalb des Workflows, der sie erzeugt, global verfügbar.

  • Variablen bleiben über mehrere Schleifendurchläufe hinweg nur innerhalb dieses Workflows erhalten.

  • Verweise auf eine Variable über ihren Namen, nicht über den Namen der Aktion, die die Variable erstellt hat; dies ist die übliche Methode, um auf die Ausgaben einer Aktion zu verweisen.

Initialisieren einer Variablen

Um eine Variable zu erstellen, fügen Sie die Aktion Variable initialisieren in Ihren Workflow ein. Du kannst Variablen nur auf globaler Workflow-Ebene deklarieren, nicht in Scopes, Conditions und Loops.

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

  2. Im Designer fügen Sie die Aktion namens Variable initialisieren hinzu, indem Sie den allgemeinen Schritten basierend auf Ihrem Workflow-Typ folgen:

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

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Name Ja < Variablenname> Der Name für die Variable.
    Typ Ja < Variablentyp> Der Datentyp für die Variable.
    Wert Nein < Anfangswert> Der Anfangswert für deine 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.

    Zum Beispiel enthält diese Aktion "Variable initialisieren " den Namen der Variable, den Datentyp und den Anfangswert:

    Screenshot, der das Azure-Portal und einen Logik-App-Workflow mit einer Aktion namens Initialisiere Variable zeigt.

  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 von der Designer- zur Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion "Variable initialisieren " in Ihrer Workflow-Definition erscheint, die im JavaScript-Objektnotationsformat (JSON) vorliegt:

"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 zu referenzieren, verwenden Sie die variables() Funktion im Workflow-Designer und im Code-View-Editor. 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. Im Designer fügen Sie die Aktion namens Increment Variable hinzu, indem Sie den allgemeinen Schritten basierend auf Ihrem Workflow-Typ folgen:

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

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Name Ja < Variablenname> Der Name für die Variable, die erhöht werden soll.
    Wert Nein < Inkrementwert> Der Wert, den zur Inkrementierung der Variablen verwendet werden soll. 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, der das Azure-Portal und einen Logik-App-Workflow mit einer Aktion namens Inkrementvariable zeigt.

  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: E-Mail-Anhänge mit einer Schleife zählen

In diesem Beispiel initialisierst du einen Zähler bei null, erhöhst den Zähler einmal für jeden E-Mail-Anhang und gibst die Gesamtanzahl der Anhänge zurück.

  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.

    Dieses Beispiel verwendet den Office 365 Outlook-Trigger namens Wenn eine neue E-Mail eintrifft. Richte diesen Auslöser so ein, 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. Im Trigger wähle Ja für die folgenden Eigenschaften aus, um Anhänge zu überprüfen und diese Anhänge in deinen Workflow zu übergeben:

    • Nur mit Anhang
    • Anlagen einschließen

    Screenshot, der das Azure-Portal und den Workflow der Logik-App zeigt, wobei die Eigenschaften des Office 365 Outlook-Triggers zum Überprüfen und Einschließen von Anhängen ausgewählt sind.

  3. Fügen Sie die Aktion Initialisieren der Variablen hinzu, um eine Ganzzahlvariable namens Count zu erstellen, die bei 0 beginnt.

  4. Im Designer fügen Sie die Aktion namens For each ein, indem Sie den allgemeinen Schritten basierend auf Ihrem Workflow-Typ folgen:

  5. Befolge in der Schleife diese Schritte:

    1. Wählen Sie innerhalb des Feldes namens Ausgabe aus vorherigen Schritten auswählen, um die Eingabeoptionen anzuzeigen.
    2. Wählen Sie das Blitzsymbol aus, um die dynamische Inhaltsliste anzuzeigen.
    3. Wählen Sie in der Liste unter "Wenn eine neue E-Mail eintrifft" die Option "Anlagen" aus.

    Screenshot des Azure-Portals und des Workflows der Logik-App mit einer For each-Schleife, geöffneter Liste mit dynamischen Inhalten und ausgewählter Ausgabe „Attachments“.

    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. Im Designer fügen Sie die Aktion namens Increment Variable hinzu, indem Sie den allgemeinen Schritten basierend auf Ihrem Workflow-Typ folgen:

    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, der das Azure-Portal und den Logik-App-Workflow mit einer Aktion zeigt, die 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 für diese Aktion die folgenden Informationen an:

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Name Ja < Variablenname> Der Name für die Variable, die geändert werden soll.
    Wert Ja < Neuer-Wert> Der Wert, der der Variable zugewiesen werden soll. Stelle sicher, dass sowohl die Variable als auch der neue Wert denselben Datentyp haben. Der Wert wird benötigt, da für diese Aktion kein Standardwert vorhanden ist.

    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 zur Codeansicht wechseln, zeigt das folgende Beispiel, wie die Aktion Set Variable in Ihrer Workflow-Definition erscheint, die im JSON-Format vorliegt, und den aktuellen Wert der Count Variablen in einen anderen Wert ä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. Folgen Sie den Schritten zur Inkrementierung einer Variablen mit folgenden Ausnahmen:

  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.

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Name Ja < Variablenname> Der Name für die Variable, die geändert werden soll.
    Wert Ja < Anzufügender-Wert> Der Wert, den Sie anhängen möchten, kann von einem beliebigen Typ sein.

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" ]
      }
   }
},