Planowanie i uruchamianie cyklicznych przepływów pracy z wyzwalaczem cyklu w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

Aby uruchomić i uruchomić przepływ pracy zgodnie z harmonogramem, możesz użyć ogólnego wyzwalacza Cykl jako pierwszego kroku. Możesz ustawić datę, godzinę i strefę czasową uruchamiania przepływu pracy oraz cykl powtarzania tego przepływu pracy. Poniższa lista zawiera pewne wzorce obsługiwane przez ten wyzwalacz wraz z bardziej zaawansowanymi cyklami i złożonymi harmonogramami:

  • Uruchom polecenie w określonej dacie i godzinie, a następnie powtarzaj co n sekund, minut, godzin, dni, tygodni lub miesięcy.

  • Uruchamiaj natychmiast i powtarzaj co n sekund, minut, godzin, dni, tygodni lub miesięcy.

  • Uruchamiaj natychmiast i powtarzaj codziennie o co najmniej jednej konkretnej godzinie, takiej jak 8:00 i 17:00.

  • Uruchamiaj natychmiast i powtarzaj co tydzień w określonych dniach, takich jak sobota i niedziela.

  • Uruchamiaj natychmiast i powtarzaj co tydzień w określonych dniach i godzinach, takich jak poniedziałek do piątku o godzinie 18:00 i 17:00.

Uwaga

Aby uruchomić i uruchomić przepływ pracy tylko raz w przyszłości, użyj szablonu przepływu pracy o nazwie Scheduler: Uruchom raz zadania. Ten szablon używa wyzwalacza Żądania i akcji HTTP, a nie wyzwalacza Cykl, który nie obsługuje tego wzorca cyklu. Aby uzyskać więcej informacji, zobacz Uruchamianie zadań tylko raz.

Wyzwalacz Cykl nie jest skojarzony z żadną konkretną usługą, więc można użyć wyzwalacza z niemal dowolnym przepływem pracy, takim jak przepływy pracy aplikacji logiki Zużycie i standardowe przepływy pracy stanowe aplikacji logiki. Ten wyzwalacz jest obecnie niedostępny dla przepływów pracy bezstanowych aplikacji logiki w warstwie Standardowa.

Wyzwalacz Cykl jest częścią wbudowanego łącznika harmonogramu i działa natywnie w środowisku uruchomieniowym usługi Azure Logic Apps. Aby uzyskać więcej informacji na temat wbudowanych wyzwalaczy i akcji harmonogramu, zobacz Planowanie i uruchamianie cyklicznych zautomatyzowanych, zadań i przepływów pracy za pomocą usługi Azure Logic Apps.

Wymagania wstępne

  • Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji, zarejestruj się w celu założenia bezpłatnego konta platformy Azure.

  • Zasób użycia lub standardowej aplikacji logiki z pustym przepływem pracy.

    Uwaga

    Jeśli utworzono przepływ pracy aplikacji logiki w warstwie Standardowa, pamiętaj o utworzeniu stanowego przepływu pracy. Wyzwalacz Cykl jest obecnie niedostępny dla przepływów pracy bezstanowych.

Dodawanie wyzwalacza cyklu

W zależności od tego, czy przepływ pracy jest zużyciem, czy standardowym, wykonaj odpowiednie kroki:

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki i pusty przepływ pracy.

  2. Wykonaj następujące ogólne kroki, aby dodać wbudowany wyzwalacz Harmonogramu o nazwie Cykl.

  3. Ustaw odstęp czasu i częstotliwość cyklu. W tym przykładzie ustaw te właściwości tak, aby uruchamiały przepływ pracy co tydzień, na przykład:

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

    Właściwości Nazwa JSON Wymagania Pisz Opis
    Interwał interval Tak Integer Dodatnia liczba całkowita, która opisuje częstotliwość uruchamiania przepływu pracy na podstawie częstotliwości. Poniżej przedstawiono minimalne i maksymalne interwały:

    - Miesiąc: 1–16 miesięcy
    - Tydzień: 1-71 tygodni
    - Dzień: 1–500 dni
    - Godzina: 1–12 000 godzin
    - Minuta: 1–72 000 minut
    - Drugi: 1-9,999,999 sekund

    Jeśli na przykład interwał wynosi 6, a częstotliwość to "Miesiąc", cykl jest co 6 miesięcy.
    Częstotliwość frequency Tak Ciąg Jednostka czasu cyklu: Sekunda, Minuta, Godzina, Dzień, Tydzień lub Miesiąc

    Ważne: jeśli wybierzesz częstotliwość Dzień, Tydzień lub Miesiąc i określisz przyszłą datę i godzinę rozpoczęcia, upewnij się, że skonfigurowaliśmy cykl z wyprzedzeniem. W przeciwnym razie przepływ pracy może pominąć pierwszy cykl.

    - Dzień: skonfiguruj cykl dzienny co najmniej 24 godziny z wyprzedzeniem.

    - Tydzień: skonfiguruj cykl tygodniowy co najmniej 7 dni z wyprzedzeniem.

    - Miesiąc: skonfiguruj cykl miesięczny co najmniej jeden miesiąc z wyprzedzeniem.
  4. Zapoznaj się z następującymi zagadnieniami dotyczącymi korzystania z wyzwalacza Cykl :

    • Jeśli nie określisz określonej daty i godziny rozpoczęcia, pierwszy cykl jest uruchamiany natychmiast po zapisaniu przepływu pracy lub wdrożeniu zasobu aplikacji logiki, pomimo konfiguracji cyklu wyzwalacza. Aby uniknąć tego zachowania, podaj datę i godzinę rozpoczęcia pierwszego cyklu do uruchomienia.

    • Jeśli nie określisz żadnych innych zaawansowanych opcji planowania, takich jak określone czasy uruchamiania przyszłych cykli, te cykle są oparte na czasie ostatniego uruchomienia. W związku z tym czasy rozpoczęcia tych cykli mogą dryfować z powodu czynników, takich jak opóźnienie podczas wywołań magazynu.

    • Aby upewnić się, że przepływ pracy nie przegapi cyklu, zwłaszcza gdy częstotliwość jest wyrażona w dniach lub dłużej, wypróbuj następujące opcje:

      • Podaj datę i godzinę rozpoczęcia cyklu oraz określone czasy uruchamiania kolejnych cykli. Możesz użyć właściwości o nazwie W tych godzinach i W tych minutach, które są dostępne tylko dla częstotliwości Dzień i Tydzień .

      • W przypadku przepływów pracy aplikacji logiki zużycie użyj wyzwalacza okna przewijania, a nie wyzwalacza Cykl.

    • Jeśli wdrożysz wyłączony przepływ pracy Zużycie z wyzwalaczem Cykl przy użyciu szablonu usługi ARM, wyzwalacz jest uruchamiany natychmiast po włączeniu przepływu pracy, chyba że ustawiono parametr Godzina rozpoczęcia przed wdrożeniem.

  5. Aby ustawić zaawansowane opcje planowania, otwórz listę Dodaj nowy parametr . Wszystkie wybrane opcje są wyświetlane w wyzwalaczu po zaznaczeniu.

    Właściwości Nazwa JSON Wymagania Pisz Opis
    Strefa czasowa timeZone Nie. Ciąg Ma zastosowanie tylko wtedy, gdy określisz godzinę rozpoczęcia, ponieważ ten wyzwalacz nie akceptuje przesunięcia UTC. Wybierz strefę czasową, którą chcesz zastosować.
    Godzina rozpoczęcia startTime Nie. Ciąg Podaj datę i godzinę rozpoczęcia, która ma w przyszłości maksymalnie 49 lat i musi być zgodna ze specyfikacją daty i godziny ISO 8601 w formacie daty i godziny UTC, ale bez przesunięcia UTC:

    RRRR-MM-DDThh:mm:ss w przypadku wybrania strefy czasowej

    -Lub-

    RRRR-MM-DDThh:mm:ssZ, jeśli nie wybierzesz strefy czasowej

    Na przykład jeśli chcesz 18 września 2020 r. o godzinie 23:00, określ wartość "2020-09-18T14:00:00" i wybierz strefę czasową, taką jak Pacyficzny Czas standardowy. Możesz też określić "2020-09-18T14:00:00Z" bez strefy czasowej.

    Ważne: jeśli nie wybierzesz strefy czasowej, musisz dodać literę "Z" na końcu bez spacji. Ten "Z" odnosi się do równoważnego czasu morskiego. Jeśli wybierzesz wartość strefy czasowej, nie musisz dodawać wartości "Z" na końcu wartości godzina rozpoczęcia. Jeśli tak, usługa Logic Apps ignoruje wartość strefy czasowej, ponieważ znak "Z" oznacza format czasu UTC.

    W przypadku prostych harmonogramów czas rozpoczęcia jest pierwszym wystąpieniem, podczas gdy w przypadku złożonych harmonogramów wyzwalacz nie jest uruchamiany wcześniej niż czas rozpoczęcia. Jakie są sposoby użycia daty i godziny rozpoczęcia?
    W tych dniach weekDays Nie. Ciąg lub tablica ciągów Jeśli wybierzesz pozycję "Tydzień", możesz wybrać co najmniej jeden dzień, w którym chcesz uruchomić przepływ pracy: poniedziałek, wtorek, środa, czwartek, piątek, sobota i niedziela
    W tych godzinach hours Nie. Liczba całkowita lub tablica całkowita W przypadku wybrania opcji "Dzień" lub "Tydzień" możesz wybrać co najmniej jedną liczbę całkowitą z zakresu od 0 do 23 jako godziny dnia, dla których chcesz uruchomić przepływ pracy. Jeśli na przykład określisz wartość "10", "12" i "14", otrzymasz 10:00, 12:00 i 23:00 przez godziny dnia.

    Uwaga: domyślnie minuty dnia są obliczane na podstawie momentu rozpoczęcia cyklu. Aby ustawić określone minuty dnia, na przykład 10:00, 12:00 i 2:00 PM, określ te wartości przy użyciu właściwości o nazwie W tych minutach.
    W tych minutach minutes Nie. Liczba całkowita lub tablica całkowita Jeśli wybierzesz pozycję "Dzień" lub "Tydzień", możesz wybrać co najmniej jedną liczbę całkowitą z zakresu od 0 do 59 jako minuty godziny, kiedy chcesz uruchomić przepływ pracy.

    Można na przykład określić wartość "30" jako znacznik minuty i użyć poprzedniego przykładu dla godzin dnia, otrzymasz 10:30, 12:30 i 14:30.

    Uwaga: Czasami sygnatura czasowa wyzwalanego przebiegu może się różnić od zaplanowanego czasu do 1 minuty. Jeśli musisz przekazać znacznik czasu dokładnie zgodnie z harmonogramem do kolejnych akcji, możesz użyć wyrażeń szablonu, aby odpowiednio zmienić znacznik czasu. Aby uzyskać więcej informacji, zobacz Funkcje daty i godziny dla wyrażeń.

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

    Załóżmy na przykład, że dzisiaj jest to piątek, 4 września 2020 r. Następujący wyzwalacz Cykl nie jest uruchamiany wcześniej niż określona data i godzina rozpoczęcia, czyli piątek, 18 września 2020 r. o 8:00 czasu pacyficznego. Jednak harmonogram cyklu jest ustawiony tylko na 10:30, 12:30 i 2:30 w poniedziałki. Przy pierwszym uruchomieniu wyzwalacza i utworzeniu wystąpienia przepływu pracy jest w poniedziałek o godzinie 10:30. Aby dowiedzieć się więcej o tym, jak działają czasy rozpoczęcia, zobacz te przykłady czasu rozpoczęcia.

    Przyszłe przebiegi odbywają się o 12:30 i 23:30 w tym samym dniu. Każdy cykl tworzy własne wystąpienie przepływu pracy. Następnie cały harmonogram powtarza się ponownie w najbliższy poniedziałek. Jakie są inne przykładowe wystąpienia?

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

    Uwaga

    Wyzwalacz wyświetla podgląd określonego cyklu tylko wtedy, gdy wybierzesz opcję Dzień lub Tydzień jako częstotliwość.

  6. Teraz kontynuuj tworzenie przepływu pracy z innymi akcjami.

Definicja przepływu pracy — cykl

Możesz wyświetlić sposób wyświetlania definicji wyzwalacza cyklu z wybranymi opcjami, przeglądając podstawową definicję JSON dla przepływu pracy w obszarze Użycie aplikacji logiki i standardowych aplikacji logiki (tylko stanowe).

W zależności od tego, czy aplikacja logiki jest zużyciem, czy standardem, wybierz jedną z następujących opcji:

  • Użycie: na pasku narzędzi projektanta wybierz pozycję Widok kodu. Aby powrócić do projektanta, na pasku narzędzi edytora widoku kodu wybierz pozycję Projektant.

  • Standardowa: w menu przepływu pracy wybierz pozycję Widok kodu. Aby powrócić do projektanta, w menu przepływu pracy wybierz pozycję Projektant.

W poniższym przykładzie pokazano, jak definicja wyzwalacza cyklu może być wyświetlana w podstawowej definicji JSON przepływu pracy:

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

Uwaga

W definicji wyzwalacza Cykl właściwość jest wyświetlana wraz z właściwościąrecurrence, evaluatedRecurrence gdy dowolne odwołanie do wyrażenia lub parametru pojawi się w kryteriach cyklu. Ta evaluatedRecurrence właściwość reprezentuje obliczone wartości z odwołania wyrażenia lub parametru. Jeśli kryteria cyklu nie określają żadnych wyrażeń ani odwołań do parametrów, evaluatedRecurrence właściwości i recurrence są takie same.

W poniższym przykładzie pokazano, jak zaktualizować definicję wyzwalacza tak, aby wyzwalacz był uruchamiany tylko raz w ostatnim dniu każdego miesiąca:

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

Wyzwalanie zmiany i dryfu cyklu (czas letni)

Aby zaplanować zadania, usługa Azure Logic Apps umieszcza komunikat do przetwarzania w kolejce i określa, kiedy ten komunikat stanie się dostępny, na podstawie czasu UTC, kiedy ostatnie zadanie zostało uruchomione, a czas UTC, kiedy ma zostać uruchomione następne zadanie. Jeśli określisz godzinę rozpoczęcia cyklu, upewnij się, że wybrano strefę czasową, aby przepływ pracy aplikacji logiki był uruchamiany w określonym czasie rozpoczęcia. W ten sposób czas UTC aplikacji logiki również zmienia się w celu przeciwdziałania sezonowym zmianom czasu. Wyzwalacze cykliczne uznają ustawiony harmonogram, w tym dowolną określoną strefę czasową.

W przeciwnym razie, jeśli nie wybierzesz strefy czasowej, zdarzenia czasu letniego (DST) mogą mieć wpływ na uruchomienie wyzwalaczy. Na przykład czas rozpoczęcia przesuwa się o jedną godzinę do przodu, gdy rozpoczyna się odejście od czasu do tyłu i godzinę po zakończeniu czasu DST. Jednak niektóre okna czasowe mogą powodować problemy, gdy czas się zmienia. Aby uzyskać więcej informacji i przykładów, zobacz Cykl czasu letniego i czasu standardowego.

Następne kroki