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
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 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:
W witrynie Azure Portal otwórz zasób aplikacji logiki i pusty przepływ pracy.
Wykonaj następujące ogólne kroki, aby dodać wbudowany wyzwalacz Harmonogramu o nazwie Cykl.
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:
Właściwości Nazwa JSON Wymagania Type 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 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.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.
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 Type Opis Strefa czasowa timeZone
Nie. 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
Nie. 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
-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ń.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?
Uwaga
Wyzwalacz wyświetla podgląd określonego cyklu tylko wtedy, gdy wybierzesz opcję Dzień lub Tydzień jako częstotliwość.
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"
}
}
Uruchamianie tylko raz
Aby uruchomić przepływ pracy tylko w jednym momencie w przyszłości, możesz zastosować szablon harmonogramu: Uruchom raz zadania, który jest dostępny tylko dla przepływów pracy aplikacji logiki Zużycie. Ten szablon używa wyzwalacza Żądania i akcji HTTP , a nie wyzwalacza Cykl , który nie obsługuje tego wzorca cyklu.
W witrynie Azure Portal utwórz aplikację logiki Zużycie.
W projektancie otwórz pusty przepływ pracy. Na pasku narzędzi projektanta wybierz pozycję Włącz starszego projektanta.
Na pasku narzędzi projektanta wybierz pozycję Szablony.
Na stronie, która zostanie otwarta, przewiń obok filmu wideo do sekcji Szablony .
Z listy Kategoria wybierz pozycję Harmonogram, a następnie wybierz następujący szablon:
Na pasku narzędzi projektanta wybierz pozycję Ogólnie dostępny projektant.
Wykonaj następujące ogólne kroki, aby dodać akcję Zaplanuj o nazwie Opóźnienie do czasu i podać czas uruchomienia następnej akcji.
Możesz też uruchomić przepływ pracy z wyzwalaczem Żądania o nazwie Po odebraniu żądania HTTP i przekazać czas rozpoczęcia jako parametr wyzwalacza.
Uruchom jeden raz w ostatnim dniu miesiąca
W tym zadaniu należy edytować wyzwalacz Cykl 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.