Freigeben über


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

Erweiterte Optionen für die Planung wie Zu diesen Stunden und An diesen Tagen sind verfügbar und funktionieren nur mit integrierten Abruftriggern, z. B. den Triggern Serie und Gleitendes Fenster, die direkt mit der Azure Logic Apps-Runtime ausgeführt werden. Bei Connectors, die von Microsoft verwaltet, gehostet und in Azure ausgeführt werden, berechnen Abruftrigger die nächste Serie, indem sie nur die Werte für Intervall und Häufigkeit und nicht die erweiterten Optionen für die Planung verwenden.

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 Sie über einen Workflow vom Typ Verbrauch oder Standard verfügen, führen Sie die entsprechenden Schritte aus:

  1. Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource und einen leeren Workflow.

  2. Führen Sie diese allgemeinen Schritte aus, um den integrierten Zeitplantrigger namens Serie 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: Designer für Verbrauchsworkflows mit Intervall und Häufigkeit des Triggers „Wiederholung“

    Eigenschaft JSON-Name Erforderlich Type BESCHREIBUNG
    Intervall interval Ja Ganzzahl Eine positive ganze Zahl, die beschreibt, wie oft der Workflow basierend auf der Häufigkeit ausgeführt wird. Zulässige Mindest- und Maximalintervalle:

    - Month: 1 - 16 Monate
    - Week: 1–71 Wochen
    - Day: 1 - 500 Tage
    - Hour: 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 mit 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. Sehen Sie sich die folgenden Überlegungen an, wenn Sie den Serientrigger verwenden:

    • Wenn Sie kein bestimmtes Startdatum und keine Startuhrzeit angeben, wird die erste Serie trotz der Serieneinrichtung Ihres Triggers sofort ausgeführt, wenn Sie den Workflow speichern oder die Logik-App-Ressource bereitstellen. 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 Optionen für die Zeitplanung angeben wie spezifische Zeiten zum Ausführen zukünftiger Serien, basieren diese Serien auf der letzten Ausführungszeit. 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 Serie verpasst, insbesondere wenn die Häufigkeit in Tagen oder einer längeren Zeitspanne angegeben 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 Workflow im Tarif „Verbrauch“ 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 für die 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 Type Beschreibung
    Zeitzone timeZone No String Nur relevant, wenn Sie eine Startzeit angeben, da dieser Trigger keine UTC-Abweichung akzeptiert. Wählen Sie die anzuwendende Zeitzone aus. Weitere Informationen finden Sie unter Standardzeitzonen.
    Startzeit startTime No String Geben Sie ein Startdatum und eine Startzeit an, die maximal 49 Jahre in der Zukunft liegen kann und dem ISO 8601-Format für Datums-/Uhrzeitangaben entsprechen und im UTC-Datums-/Zeitformat angegeben werden muss, jedoch ohne UTC-Abweichung:

    JJJJ-MM-TTThh:mm:ss (bei Auswahl einer Zeitzone)

    Oder

    JJJJ-MM-TTThh:mm:ssZ (wenn keine Zeitzone ausgewählt wird)

    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“ ohne Leerzeichen anhängen. „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 No 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 No 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 also etwa „10“, „12“ und „14“ angeben, erhalten Sie „10 Uhr“, „12 Uhr“ und „14 Uhr“ als 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 No 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 abweichen. 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: Verbrauchsworkflow-Designer und Trigger „Serie“ mit erweiterten Optionen für die Planung

    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: Verbrauchsworkflow-Designer und Trigger „Serie“ mit Beispiel für erweiterte Optionen für die Planung

    Hinweis

    Für den Trigger wird nur dann eine Vorschau für Ihre angegebene Wiederholung angezeigt, wenn Sie als Häufigkeit Tag oder Woche 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 Serie wird die evaluatedRecurrence-Eigenschaft zusammen mit der recurrence-Eigenschaft angezeigt, wenn ein Ausdrucks- oder Parameterverweis in den Serienkriterien 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"
    }
}

Einmalige Ausführung

Wenn Sie Ihren Workflow in Zukunft nur einmalig ausführen möchten, können Sie die Workflowvorlage Planer: Einmalige Aufträge ausführen anwenden, die nur für Logik-App-Workflows im Tarif „Verbrauch“ verfügbar ist. Diese Vorlage verwendet den Anforderungstrigger und die HTTP-Aktion anstelle des Serientriggers, der dieses Serienmuster nicht unterstützt.

  1. Erstellen Sie im Azure-Portal eine verbrauchsbasierte Logik-App.

  2. Öffnen Sie im Designer den leeren Workflow. Wählen Sie auf der Symbolleiste des Designers die Option Legacy-Designer aktivieren aus.

  3. Wählen Sie auf der Symbolleiste des Designers Vorlagen aus.

  4. Scrollen Sie auf der daraufhin geöffneten Seite am Video vorbei zum Abschnitt Vorlagen.

  5. Wählen Sie in der Liste Kategorie die Option Zeitplan und dann die folgende Vorlage aus:

    Screenshot: Ausgewählte Vorlage mit dem Namen „Planer: Einmalige Aufträge ausführen“

  6. Wählen Sie auf der Symbolleiste des Designers die Option Allgemein verfügbarer Designer aus.

  7. Führen Sie diese allgemeinen Schritte aus, um die Aktion für den Zeitplan namens Verzögern bis hinzuzufügen, und geben Sie die Zeit ein, zu der die nächste Aktion ausgeführt wird.

Alternativ können Sie Ihren Workflow mit dem Anforderungstrigger namens Beim Empfang einer HTTP-Anforderung starten und die Startzeit als Parameter für den Trigger übergeben.

Einmalige Ausführung am letzten Tag des Monats

Für diese Aufgabe müssen Sie den Serientrigger in der dem Workflow zugrunde liegenden JSON-Definition mithilfe der Codeansicht bearbeiten. Verwenden Sie dazu das folgende Beispiel:

"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