Udostępnij przez


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 rozpocząć i uruchomić przepływ pracy zgodnie z harmonogramem, możesz użyć ogólnego wyzwalacza Powtarzanie 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 o określonej godzinie i dacie, 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.

Note

Zaawansowane opcje planowania, takie jak W tych godzinach i W tych dniach, są dostępne i działają tylko z wbudowanymi wyzwalaczami sondowania, takimi jak wyzwalacze cykliczne i przesuwane okna , które są uruchamiane bezpośrednio przy użyciu środowiska uruchomieniowego usługi Azure Logic Apps. W przypadku łączników zarządzanych przez firmę Microsoft, hostowanych i uruchamianych na platformie Azure wyzwalacze sondowania obliczają następny cykl przy użyciu tylko wartości Interwał i Częstotliwość , a nie zaawansowane opcje planowania.

Wyzwalacz Powtarzanie nie jest skojarzony z żadną konkretną usługą, więc można go użyć z niemal każdym przepływem pracy, takim jak przepływy pracy aplikacji logiki typu Konsumpcja oraz standardowe przepływy pracy aplikacji logiki z obsługą stanu. Ten wyzwalacz jest obecnie niedostępny dla przepływów pracy bezstanowych aplikacji logiki w warstwie Standardowa.

Wyzwalacz Powtarzanie jest częścią wbudowanego łącznika harmonogramu i działa natywnie na platformie 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.

Prerequisites

  • 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.

    Note

    Jeśli utworzono przepływ pracy aplikacji logicznej w warstwie standardowej, 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 logiki aplikacji i pusty proces.

  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:

    Zrzut ekranu przedstawiający projektanta przepływu pracy Zużycie z interwałem i częstotliwością wyzwalacza cyklu.

    Property Nazwa JSON Required Typ Description
    Interval interval Yes 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.
    Frequency frequency Yes String 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.
    Strefa czasowa timeZone No String 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ć. Aby uzyskać więcej informacji, zobacz Domyślne strefy czasowe.
    Godzina rozpoczęcia startTime No String 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

    -or-

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

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

    Ważny: Jeśli nie wybierzesz strefy czasowej, musisz dodać literę "Z" na końcu bez spacji. To "Z" oznacza format czasu UTC z odchyleniem UTC. 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 Azure 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?

    Dostępne są następujące właściwości w zależności od tego, czy wybrano pozycję Tydzień , czy Dzień:

    Property Nazwa JSON Required Typ Description
    W tych dniach weekDays No 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 No Liczba całkowita lub tablica całkowita W przypadku wybrania pozycji 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 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 No Liczba całkowita lub tablica całkowita W przypadku wybrania pozycji 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.

    Na przykład możesz określić 30 jako znacznik minuty i użyć poprzedniego przykładu dla godzin dnia, otrzymasz 10:30, 12:30 i 23:30.

    Uwaga: Czasami znacznik czasu uruchomienia 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ń.
  4. Przejrzyj następujące zagadnienia dotyczące korzystania z wyzwalacza Powtarzanie:

    • 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 Consumption z wyzwalaczem Cykl przy użyciu szablonu ARM, wyzwalacz uruchamia się natychmiast po włączeniu przepływu pracy, chyba że przed wdrożeniem ustawiono parametr Godzina rozpoczęcia.

    Załóżmy na przykład, że dzisiaj jest to środa, 4 września 2024 r. Następujący wyzwalacz Cykliczność nie uruchamia się w żadnym wypadku wcześniej niż określona data i godzina rozpoczęcia, czyli środa, 18 września 2024 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?

    Zrzut ekranu przedstawia przepływ pracy użycia i wyzwalacz cyklu z zaawansowanym przykładem planowania.

    Note

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

  5. 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 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 Recurrence może być wyświetlana w definicji JSON podstawowego przepływu pracy.

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

Note

W definicji wyzwalacza Powtarzalność właściwość evaluatedRecurrence jest wyświetlana wraz z właściwością recurrence gdy jakiekolwiek wyrażenie lub odwołanie do parametru pojawi się w kryteriach recursji. 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"
    }
}

Uruchom jeden raz w ostatnim dniu miesiąca

W tym zadaniu należy edytować wyzwalacz Powtarzanie w podstawowej definicji JSON przepływu pracy przy użyciu widoku kodu, a nie projektanta, korzystając z następującego przykładu.

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