Uruchamianie funkcji platformy Azure zgodnie z harmonogramem

Ukończone

Fragment logiki często jest wykonywany w ustalonych przedziałach czasu. Wyobraź sobie, że jesteś właścicielem bloga i zauważasz, że twoi subskrybenci nie czytają najnowszych wpisów. Decydujesz, że najlepszym rozwiązaniem będzie wysyłanie im raz w tygodniu wiadomości e-mail z przypomnieniem o odwiedzeniu bloga. Tę logikę można zaimplementować, tworząc aplikację funkcji na platformie Azure z wyzwalaczem czasomierza w celu wywołania funkcji co tydzień.

Co to jest wyzwalacz czasomierza?

Wyzwalacz czasomierza to wyzwalacz, który wykonuje funkcję w stałych odstępach czasu. Aby utworzyć wyzwalacz czasomierza, musisz podać dwie informacje.

  1. Nazwa parametru znacznika czasu jest po prostu identyfikatorem umożliwiającym uzyskanie dostępu do wyzwalacza w kodzie.
  2. Harmonogram, czyli wyrażenie CRON, określa interwał dla czasomierza.

Co to jest wyrażenie CRON?

Wyrażenie CRON jest ciągiem, który składa się z sześciu pól reprezentujących zestaw czasowy.

Kolejność tych sześciu pól na platformie Azure jest następująca: {second} {minute} {hour} {day} {month} {day of the week}.

Na przykład wyrażenie CRON do utworzenia wyzwalacza, który jest wykonywany co pięć minut, wygląda następująco: 0 */5 * * * *

Na początku ten ciąg może wyglądać mylące. Wrócimy jeszcze do niego i dokładniej omówimy te pojęcia, gdy lepiej poznamy wyrażenia CRON.

Aby utworzyć wyrażenie CRON, musisz mieć podstawową wiedzę na temat niektórych znaków specjalnych.

Znak specjalny Znaczenie Przykład
* Wybiera każdą wartość w polu Gwiazdka „*” w polu dnia tygodnia oznacza codziennie.
, Oddziela elementy na liście Przecinek „1,3” w polu dnia tygodnia oznacza tylko poniedziałki (dzień 1) i środy (dzień 3).
- Określa zakres Łącznik „10 – 12” w polu godziny oznacza zakres, który obejmuje godzinę 10, 11 i 12.
/ Określa przyrost Ukośnik „*/10” w polu minut oznacza przyrost co 10 minut.

Teraz wrócimy do pierwotnego przykładu wyrażenia CRON. Spróbujmy zrozumieć je lepiej, dzieląc je na poszczególne pola.

0 */5 * * * *

Pierwsze pole reprezentuje sekundy. To pole obsługuje wartości od 0 do 59. Ponieważ pole zawiera zero, wybiera pierwszą możliwą wartość, czyli jedną sekundę.

Drugie pole reprezentuje minuty. Wartość „*/5” zawiera dwa znaki specjalne. Po pierwsze gwiazdka (*) oznacza "wybierz każdą wartość w polu". Ponieważ to pole reprezentuje minuty, możliwe wartości to 0–59. Drugi znak specjalny to ukośnik (/), który reprezentuje przyrost. Gdy połączymy te znaki ze sobą, oznacza to „ze wszystkich wartości z zakresu 0–59 wybierz co piątą wartość”. Mówiąc prościej, oznacza to „co pięć minut”.

Pozostałe cztery pola liczbowo reprezentują godzinę w ciągu 24-godzinnego dnia, dnia w miesiącu, miesiącu w 12-miesięcznym roku i dniu 7-dniowego tygodnia. Gwiazdka dla tych pól oznacza, że ma być wybrana każda możliwa wartość. W tym przykładzie wybieramy „co godzinę każdego dnia każdego miesiąca”.

Po połączeniu wszystkich pól wyrażenie jest odczytywane jako "pierwsza sekunda co piąta minuta każdej godziny, każdego dnia, każdego miesiąca".

Jak utworzyć wyzwalacz czasomierza

Możesz utworzyć wyzwalacz czasomierza w witrynie Azure Portal. W aplikacji funkcji wybierz wyzwalacz czasomierza z listy szablonów wyzwalaczy. Wprowadź logikę, którą chcesz wykonać. Podaj nazwę parametru znacznika czasu i wyrażenie CRON.

W tym module skoncentrujemy się na tworzeniu wyzwalaczy w portalu, ale można również tworzyć wyzwalacze programowo przy użyciu narzędzi Core Tools, Visual Studio lub Visual Studio Code.

Wyzwalacz czasomierza wywołuje kod funkcji zgodnie ze spójnym harmonogramem. Aby zdefiniować harmonogram dla wyzwalacza czasomierza, należy utworzyć wyrażenie CRON, czyli ciąg, który reprezentuje zestaw czasowy.