Erstellen von Switch-Aktionen zum Ausführen von Workflowaktionen auf der Grundlage bestimmter Werte in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch)

Fügen Sie eine Aktion vom Typ switch hinzu, wenn Sie bestimmte Aktionen auf der Grundlage der Werte von Objekten, Ausdrücken oder Token ausführen möchten. Diese Struktur wertet das Objekt, den Ausdruck oder das Token aus, wählt den entsprechenden Fall für das Ergebnis und bestimmte Aktionen für genau diesen Fall aus. Beim Ausführen der Switch-Aktion sollte nur ein Fall mit dem Ergebnis übereinstimmen.

Angenommen, Sie möchten, dass eine Logik-App verschiedene Schritte basierend auf einer Option ausführt, die in einer E-Mail ausgewählt ist. In diesem Beispiel überprüft die Logik-App den RSS-Feed einer Website auf neuen Inhalt. Wenn ein neues Element im RSS-Feed angezeigt wird, sendet die Logik-App eine E-Mail an eine genehmigende Person. Je nachdem, ob die genehmigende Person „Genehmigen“ oder „Ablehnen“ auswählt, führt die Logik-App unterschiedliche Schritte aus.

Tipp

Wie bei allen Programmiersprachen werden von Switch-Aktionen nur Gleichheitsoperatoren unterstützt. Wenn Sie andere relationale Operatoren benötigen (beispielsweise „größer als“), muss eine Bedingungsaktion verwendet werden. Um deterministisches Ausführungsverhalten zu gewährleisten, müssen Fälle einen eindeutigen und statischen Wert anstelle von dynamischen Token oder Ausdrücken enthalten.

Voraussetzungen

  • Ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.

  • Um dem Beispiel in diesem Artikel zu folgen, erstellen Sie den verbrauchsbasierten Logik-App-Beispielworkflow mit einem Outlook.com- bzw. einem Geschäfts-, Schul- oder Unikonto.

    1. Beim Hinzufügen der Aktion zum Senden von E-Mail suchen Sie stattdessen diese Aktion, und wählen Sie sie aus: Genehmigungs-E-Mail senden.

      Select

    2. Füllen Sie die Pflichtfelder wie „E-Mail-Adresse“ für die Person aus, die die Genehmigungs-E-Mail erhält. Geben Sie unter Benutzeroptionen „Genehmigen, Ablehnen“ ein.

      Enter email details

Hinzufügen einer Switch-Aktion

  1. Fügen Sie in diesem Beispiel am Ende Ihres Beispielworkflows eine Switch-Aktion hinzu. Wählen Sie nach dem letzten Schritt Neuer Schritt aus.

    Wenn Sie eine Switch-Aktion zwischen Schritten hinzufügen möchten, bewegen Sie den Zeiger auf den Pfeil an der Stelle, an der Sie die Switch-Aktion hinzufügen möchten. Wählen Sie das daraufhin angezeigte Pluszeichen ( + ) aus, und wählen Sie dann Aktion hinzufügen aus.

  2. Geben Sie im Suchfeld den Begriff „switch“ als Filter ein. Wählen Sie diese Aktion aus: Switch – steuern.

    Add switch

    Eine Switch-Aktion wird mit einem einzelnen Fall und einem Standardfall angezeigt. Eine Switch-Aktion erfordert standardmäßig mindestens einen Fall sowie den Standardfall.

    Empty default switch action

  3. Klicken Sie in das Feld On, so dass die dynamische Inhaltsliste angezeigt wird. Wählen Sie in dieser Aktivierungsliste das Feld SelectedOption aus, dessen Ausgabe die auszuführende Aktion bestimmt.

    Select

  4. Zum Verarbeiten der Fälle, bei denen die genehmigende Person Approve oder Reject auswählt, fügen Sie einen weiteren Fall zwischen Fall und Standard hinzu.

    Add another case

  5. Fügen Sie den entsprechenden Fällen diese Aktionen hinzu:

    Fallnr. SelectedOption Aktion
    Fall 1 Genehmigen Fügen Sie die Outlook-Aktion E-Mail senden für das Senden von Details zum RSS-Element nur hinzu, wenn die genehmigende Person Genehmigen ausgewählt hat.
    Fall 2 Ablehnen Fügen Sie die Outlook-Aktion E-Mail senden hinzu, um andere genehmigende Personen zu darüber zu benachrichtigen, dass das RSS-Element abgelehnt wurde.
    Standard Keine Keine Aktion erforderlich. In diesem Beispiel ist der Standardfall leer, da SelectedOption nur zwei Optionen aufweist.

    Finished switch action

  6. Speichern Sie Ihre Logik-App.

    Zum manuellen Testen dieses Beispiels wählen Sie Ausführen, bis die Logik-App ein neues RSS-Element findet und eine Genehmigungs-E-Mail sendet. Wählen Sie Genehmigen aus, um die Ergebnisse zu beobachten.

JSON-Definition

Nachdem Sie nun eine Logik-App mit einer Switch-Aktion erstellt haben, sehen wir uns als Nächstes die allgemeine Codedefinition an, die der Switch-Aktion zugrunde liegt.

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
           "Send_an_email": {}
         },
         "case" : "Approve"
      },
      "Case_2": {
         "actions": {
           "Send_an_email_2": {}
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": {}
   },
   "runAfter": {
      "Send_approval_email": [
         "Succeeded"
      ]
   }
}
Bezeichnung BESCHREIBUNG
"Switch" Der Name der Switch-Aktion. Kann zur besseren Lesbarkeit geändert werden.
"type": "Switch" Gibt an, dass es sich bei der Aktion um eine Switch-Aktion handelt.
"expression" Gibt in diesem Beispiel die ausgewählte Option der genehmigenden Person an, für die weiter unten in der Definition für jeden Fall eine Auswertung erfolgt
"cases" Definiert eine beliebige Anzahl von Fällen. "Case_*" der jeweilige Standardname für jeden Fall, den Sie zur besseren Lesbarkeit ändern können
"case" Gibt den Wert des Falls an. Dabei muss es sich um einen konstanten und eindeutigen Wert handeln, der von der Switch-Aktion für den Vergleich verwendet wird. Wenn keine Fälle dem Ergebnis des switch-Ausdrucks entsprechen, werden die Aktionen im Abschnitt "default" ausgeführt.

Support

Nächste Schritte