Planen und Ausführen wiederkehrender Workflows mit dem Serientrigger in Azure Logic Apps

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

Um Ihren Workflow nach einem Zeitplan zu starten und auszuführen, können Sie den generischen Serientrigger als ersten Schritt verwenden. Sie können ein Datum, eine Uhrzeit und eine Zeitzone zum Starten des Workflows sowie eine Serie zum Wiederholen dieses Workflows festlegen. Die folgende Liste enthält einige Muster, die dieser Trigger neben erweiterten Serien und komplexen Zeitplänen unterstützt:

  • Ausführung an einem bestimmten Datum zu einer bestimmten Uhrzeit und anschließende Wiederholung jeweils nach n Sekunden, Minuten, Stunden, Tagen, Wochen oder Monaten.

  • Sofortige Ausführung und Wiederholung jeweils nach n Sekunden, Minuten, Stunden, Tagen, Wochen oder Monaten.

  • Sofortige Ausführung und Wiederholung täglich zu einer oder mehreren bestimmten Zeiten, z. B. 8:00 Uhr morgens und 17:00 Uhr nachmittags.

  • Sofortige Ausführung und Wiederholung wöchentlich an bestimmten Tagen, z. B. Samstag und Sonntag.

  • Sofortige Ausführung und Wiederholung wöchentlich an bestimmten Tagen und zu festen Uhrzeiten, z. B. Montag bis Freitag um 8:00 Uhr und 17:00 Uhr.

Hinweis

Wenn Sie Ihren Workflow nur einmal in der Zukunft starten und ausführen möchten, verwenden Sie die Workflowvorlage mit dem Namen Planer: Einmalige Aufträge ausführen. Diese Vorlage verwendet den Anforderungstrigger und die HTTP-Aktion anstelle des Serientriggers, der dieses Serienmuster nicht unterstützt. Weitere Informationen finden Sie unter Einmalige Ausführung.

Der Serientrigger ist nicht mit einem bestimmten Dienst verknüpft, sodass Sie den Trigger mit fast jedem Workflow verwenden können, z. B. mit Logik-App-Workflows für den Verbrauch und zustandsbehafteten Standard-Logik-App-Workflows. Dieser Trigger ist derzeit für zustandslose Standard-Logik-App-Workflows nicht verfügbar.

Der Serientrigger ist Teil des integrierten Zeitplanconnectors und wird nativ in der Azure Logic Apps-Runtime ausgeführt. Weitere Informationen zu den integrierten Zeitplantriggern und -aktionen finden Sie unter Planen und Ausführen von wiederkehrenden automatisierten Aufgaben und Workflows mit Azure Logic Apps.

Voraussetzungen

Hinzufügen des Serientriggers

Je nachdem, ob Ihr Workflow "Verbrauch" oder "Standard" ist, führen Sie die entsprechenden Schritte aus:

  1. Öffnen Sie im Azure-Portal die Logik-App-Ressource und den leeren Workflow.

  2. Führen Sie die folgenden allgemeinen Schritte aus, um den integrierten Zeitplantrigger namens Recurrence hinzuzufügen.

  3. Legen Sie das Intervall und die Häufigkeit für die Wiederholung fest. Legen Sie in diesem Beispiel diese Eigenschaften fest, um Ihren Workflow jede Woche auszuführen:

    Screenshot for Consumption workflow designer with Recurrence trigger interval and frequency.

    Eigenschaft JSON-Name Erforderlich Art BESCHREIBUNG
    Intervall interval Ja Integer Eine positive ganze Zahl, die beschreibt, wie oft der Workflow basierend auf der Häufigkeit ausgeführt wird. Hier sind die minimalen und maximalen Intervalle:

    - Monat: 1-16 Monate
    - Woche: 1-71 Wochen
    - Tag: 1-500 Tage
    - Stunde: 1-12.000 Stunden
    - Minute: 1-72.000 Minuten
    - Second: 1–9.999.999 Sekunden

    Wenn das Intervall also beispielsweise auf „6“ und die Häufigkeit auf „Month“ festgelegt ist, erfolgt die Wiederholung alle sechs Monate.
    Frequency frequency Ja String Die Zeiteinheit für die Wiederholung: Second (Sekunde), Minute (Minute), Hour (Stunde), Day (Tag), Week (Woche) oder Month (Monat)

    Wichtig: Wenn Sie die Häufigkeit "Tag", "Woche" oder "Monat " auswählen und ein zukünftiges Startdatum und eine zukünftige Uhrzeit angeben, stellen Sie sicher, dass Sie die Serie im Voraus einrichten. Andernfalls überspringt der Workflow möglicherweise die erste Wiederholung.

    - Tag: Richten Sie die tägliche Wiederholung mindestens 24 Stunden im Voraus ein.

    - Woche: Richten Sie die wöchentliche Wiederholung mindestens 7 Tage im Voraus ein.

    - Monat: Richten Sie die monatliche Wiederholung mindestens einen Monat im Voraus ein.
  4. Überprüfen Sie die folgenden Überlegungen, wenn Sie den Serientrigger verwenden:

    • Wenn Sie kein bestimmtes Startdatum und eine bestimmte Startzeit angeben, wird die erste Serie sofort ausgeführt, wenn Sie den Workflow speichern oder die Logik-App-Ressource bereitstellen, trotz des Setups des Triggers. Um dieses Verhalten zu vermeiden, geben Sie ein Startdatum und eine Startuhrzeit für die Ausführung der ersten Wiederholung an.

    • Wenn Sie keine anderen erweiterten Terminplanungsoptionen angeben, z. B. bestimmte Zeiten für die Ausführung zukünftiger Serien, basieren diese Serien auf der letzten Laufzeit. Hieraus ergibt sich, dass die Startzeiten für diese Wiederholungen sich aufgrund von Faktoren wie Wartezeiten während Speicheraufrufen verschieben können.

    • Um sicherzustellen, dass ihr Workflow keine Wiederholung verpasst, insbesondere wenn die Häufigkeit in Tagen oder länger ist, probieren Sie die folgenden Optionen aus:

      • Geben Sie ein Startdatum und eine Uhrzeit für die Wiederholung und die spezifischen Zeiten an, um spätere Wiederholungen auszuführen. Sie können die Eigenschaften Zu diesen Stunden und Zu diesen Minuten verwenden, die nur für die Frequenzen Tag und Woche verfügbar sind.

      • Verwenden Sie für Logik-App-Workflows für den Verbrauch den Trigger „Gleitendes Fenster“ anstelle des Serientriggers.

    • Wenn Sie einen deaktivierten Verbrauchsworkflow mit einem Serientrigger mithilfe einer ARM-Vorlage bereitstellen, wird der Trigger sofort ausgelöst, wenn Sie den Workflow aktivieren, es sei denn, Sie legen den Parameter "Startzeit" vor der Bereitstellung fest.

  5. Um erweiterte Optionen für die Planung festzulegen, öffnen Sie die Liste Neuen Parameter hinzufügen. Alle von Ihnen ausgewählten Optionen werden nach der Auswahl im Trigger angezeigt.

    Eigenschaft JSON-Name Erforderlich Art Beschreibung
    Zeitzone timeZone Nein String Nur relevant, wenn Sie eine Startzeit angeben, da dieser Trigger keine UTC-Abweichung akzeptiert. Wählen Sie die anzuwendende Zeitzone aus.
    Startzeit startTime Nein String Geben Sie ein Startdatum und eine Startzeit an, die maximal 49 Jahre in der Zukunft hat und die ISO 8601-Datums-Uhrzeitspezifikation im UTC-Datums-Uhrzeitformat, aber ohne UTC-Offset befolgen muss:

    JJJJ-MM-TTThh:mm:ss, wenn Sie eine Zeitzone auswählen

    -Oder-

    JJJJ-MM-DDThh:mm:ssZ, wenn Sie keine Zeitzone auswählen

    Für den 18. September 2020 um 14:00 Uhr würden Sie also „2020-09-18T14:00:00“ angeben und eine Zeitzone (z. B. „Pacific Standard Time“) auswählen. Alternativ können Sie „2020-09-18T14:00:00Z“ ohne Zeitzone angeben.

    Wichtig: Wenn Sie keine Zeitzone auswählen, müssen Sie den Buchstaben "Z" am Ende ohne Leerzeichen hinzufügen. „Z“ bezieht sich auf die entsprechende nautische Zeit. Wenn Sie einen Zeitzonenwert auswählen, müssen Sie kein „Z“ am Ende Ihres Startzeit-Werts hinzufügen. Wenn Sie dies tun, ignoriert Logic Apps den Zeitzonenwert, weil „Z“ ein UTC-Zeitformat kennzeichnet.

    Bei einfachen Zeitpläne ist die Startzeit das erste Vorkommen. Bei komplexeren Zeitplänen wird der Trigger nicht vor der Startzeit ausgelöst. Wie kann ich Startdatum und -uhrzeit verwenden?
    An diesen Tagen weekDays Nein Zeichenfolge oder Zeichenfolgenarray Bei Auswahl von „Week“ (Woche) können Sie einen oder mehrere Tage angeben, an denen der Workflow ausgeführt werden soll: Monday (Montag), Tuesday (Dienstag), Wednesday (Mittwoch), Thursday (Donnerstag), Friday (Freitag), Saturday (Samstag) und Sunday (Sonntag)
    Zu diesen Stunden hours Nein Ganze Zahl oder Ganzzahlarray Bei Auswahl von „Tag“ oder „Woche“ können Sie eine oder mehrere ganze Zahlen zwischen 0 und 23 als Stunden des Tages angeben, zu denen der Workflow ausgeführt werden soll. Wenn Sie z. B. "10", "12" und "14" angeben, erhalten Sie 10:00 Uhr, 12:00 und 2:00 Uhr für die Stunden des Tages.

    Hinweis: Standardmäßig werden die Minuten des Tages basierend auf dem Start der Serie berechnet. Wenn Sie eine minutengenaue Uhrzeit festlegen möchten, z. B. 10:00 Uhr, 12:00 Uhr oder 14:00 Uhr, verwenden Sie die Eigenschaft namens Zu diesen Minuten, um diese Werte anzugeben.
    Zu diesen Minuten minutes Nein Ganze Zahl oder Ganzzahlarray Bei Auswahl von „Day“ (Tag) oder „Week“ (Woche) können Sie eine oder mehrere ganze Zahlen zwischen 0 und 59 als Minuten der Stunden angeben, in denen der Workflow ausgeführt werden soll.

    Wenn Sie also beispielsweise „30“ als Minutenwert angeben und das vorherige Beispiel für Stunden des Tages verwenden, erhalten Sie „10:30 Uhr“, „12:30 Uhr“ und „14:30 Uhr“.

    Hinweis: Manchmal kann der Zeitstempel für die ausgelöste Ausführung bis zu 1 Minute von der geplanten Zeit variieren. Wenn Sie den Zeitstempel exakt wie geplant an nachfolgende Aktionen übergeben müssen, können Vorlagenausdrücke verwenden, um den Zeitstempel entsprechend zu ändern. Weitere Informationen finden Sie unter Datums- und Uhrzeitfunktionen für Ausdrücke.

    Screenshot for Consumption workflow designer and Recurrence trigger with advanced scheduling options.

    Angenommen, heute ist Freitag, der 4. September 2020. Der folgende Serientrigger wird frühestens am festgelegten Startdatum zur festgelegten Startzeit ausgelöst, also am Freitag, den 18. September 2020, um 8:00 Uhr Pacific Time. Der Wiederholungszeitplan ist aber für die Uhrzeiten 10:30, 12:30 und 14:30 ausschließlich an Montagen festgelegt. Der Trigger wird am Montag um 10:30 Uhr zum ersten Mal ausgelöst und erstellt eine Instanz des Workflows. Weitere Informationen zur Funktionsweise von Startzeiten finden Sie in diesen Beispielen zu Startzeiten.

    Die zukünftigen Ausführungen erfolgen um 12:30 und 14:30 Uhr an demselben Tag. Für jede Wiederholung wird eine eigene Workflowinstanz erstellt. Anschließend wird der gesamte Zeitplan am nächsten Montag wiederholt. Welche anderen Beispiele für Wiederholungen gibt es?

    Screenshot showing Consumption workflow and Recurrence trigger with advanced scheduling example.

    Hinweis

    Der Trigger zeigt eine Vorschau für die angegebene Serie nur an, wenn Sie "Tag" oder "Woche" als Häufigkeit auswählen.

  6. Setzen Sie nun den Aufbau Ihres Workflows mit anderen Aktionen fort.

Workflowdefinition – Wiederholung

Sie können sehen, wie die Serientriggerdefinition mit Ihren ausgewählten Optionen angezeigt wird, indem Sie die zugrunde liegende JSON-Definition für Ihren Workflow in Logik-Apps für den Verbrauch und Standard-Logik-Apps (nur zustandsbehaftet) überprüfen.

Abhängig davon, ob Ihre Logik-App den Typ „Verbrauch“ oder „Standard“ aufweist, wählen Sie eine der folgenden Optionen aus:

  • Verbrauch: Wählen Sie auf der Symbolleiste des Designers Codeansicht aus. Wählen Sie auf der Codeansicht-Editor-Symbolleiste die Option Designer aus, um zum Designer zurückzukehren.

  • Standard: Wählen Sie im Workflowmenü Codeansicht aus. Wählen Sie im Workflowmenü die Option Designer aus, um zum Designer zurückzukehren.

Das folgende Beispiel zeigt, wie eine Serientriggerdefinition in der zugrunde liegenden JSON-Definition des Workflows angezeigt werden könnte:

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2020-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

Hinweis

In der Definition des Triggers „Wiederholung“ wird die evaluatedRecurrence-Eigenschaft zusammen mit der recurrence-Eigenschaft angezeigt, wenn ein Ausdrucks- oder Parameterverweis in den Wiederholungskriterien angezeigt wird. Diese evaluatedRecurrence-Eigenschaft stellt die ausgewerteten Werte aus dem Ausdrucks- oder Parameterverweis dar. Wenn die Wiederholungskriterien keine Ausdrücke oder Parameterverweise angeben, sind die Eigenschaften evaluatedRecurrence und recurrence identisch.

Das folgende Beispiel zeigt, wie Sie die Triggerdefinition so aktualisieren, dass der Trigger nur einmal am letzten Tag jedes Monats ausgeführt wird:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Auslösen der Wiederholungsverschiebung und -abweichung (Sommerzeit)

Beim Planen von Aufträgen fügt Azure Logic Apps die Nachricht zur Verarbeitung in die Warteschlange ein und gibt an, wann diese Nachricht verfügbar wird. Diese Angabe basiert auf der UTC-Zeit, zu der der letzte Auftrag ausgeführt wurde, und der UTC-Zeit, zu der die Ausführung des nächsten Auftrags geplant ist. Wenn Sie eine Startzeit mit ihrer Wiederholung angeben, achten Sie darauf, eine Zeitzone auszuwählen, damit Ihr Logik-App-Workflow zur angegebenen Startzeit ausgeführt wird. Auf diese Weise wird auch die UTC-Zeit für Ihre Logik-App verschoben, um die Sommerzeitumstellung zu berücksichtigen. Trigger für Wiederholungen berücksichtigen den von Ihnen festgelegten Zeitplan, einschließlich der von Ihnen angegebenen Zeitzone.

Andernfalls, wenn Sie keine Zeitzone auswählen, können sich Sommerzeitereignisse (DST) auf den Ausführungszeitpunkt von Triggern auswirken. Z. B. verschiebt sich die Startzeit um eine Stunde nach vorn, wenn die Sommerzeit beginnt, und eine Stunde nach hinten, wenn die Sommerzeit endet. Einige Zeitfenster können jedoch Probleme verursachen, wenn sich die Zeit verschiebt. Weitere Informationen und Beispiele finden Sie unter Wiederholung für Sommerzeit und Normalzeit.

Nächste Schritte