Exécuter une fonction Azure selon une planification

Effectué

Il est courant d’exécuter un élément logique à un intervalle défini. Imaginons qu’en tant que propriétaire d’un blog, vous remarquez que vos abonnés ne lisent pas vos billets les plus récents. Vous décidez que la meilleure chose à faire est d’envoyer un e-mail à vos abonnés une fois par semaine pour leur rappeler de consulter votre blog. Vous implémentez cette logique en créant une application de fonction dans Azure avec un déclencheur de minuteur pour appeler votre fonction une fois par semaine.

Qu’est-ce qu’un déclencheur de minuteur ?

Un déclencheur de minuteur est un déclencheur qui exécute une fonction à intervalle régulier. Pour créer un déclencheur de minuteur, vous devez fournir deux informations.

  1. Un nom de paramètre d’horodatage qui est simplement un identificateur permettant d’accéder au déclencheur dans le code.
  2. Une planification qui se résume à une expression CRON définissant l’intervalle d’exécution du minuteur.

Qu’est-ce qu’une expression CRON ?

Une expression CRON est une chaîne composée de six champs représentant un ensemble d’heures.

L’ordre des six champs dans Azure est : {second} {minute} {hour} {day} {month} {day of the week}.

Par exemple, une expression CRON permettant de créer un déclencheur qui s’exécute toutes les cinq minutes se présente comme suit : 0 */5 * * * *

Dans un premier temps, cette chaîne peut paraître déroutante. Nous allons revenir à ces concepts et les décomposer lorsque nous aurons examiné de plus près les expressions CRON.

Pour générer une expression CRON, vous devez comprendre les bases de l’usage de certains caractères spéciaux.

Caractère spécial Signification Exemple
* Sélectionne toutes les valeurs d’un champ Un astérisque « * » dans le champ du jour de la semaine signifie tous les jours.
, Sépare les éléments d’une liste La notation « 1,3 » dans le champ du jour de la semaine indique simplement les lundis (jour 1) et les mercredis (jour 3).
- Spécifie une plage La notation « 10-12 » dans le champ de l’heure désigne une plage incluant les heures 10, 11 et 12.
/ Spécifie un incrément La notation « */10 » dans le champ des minutes indique un incrément de 10 minutes.

Nous allons à présent revenir à l’exemple d’expression CRON d’origine. Essayons de mieux la comprendre en la décomposant champ par champ.

0 */5 * * * *

Le premier champ représente les secondes. Ce champ prend en charge les valeurs 0 à 59. Comme le champ contient un zéro, il sélectionne la première valeur possible, soit une seconde.

Le deuxième champ représente les minutes. La valeur « */5 » contient deux caractères spéciaux. Tout d’abord, l’astérisque (*) signifie « sélectionner toutes les valeurs dans le champ ». Comme ce champ représente des minutes, les valeurs possibles sont 0-59. Le deuxième caractère spécial est la barre oblique (/), qui représente un incrément. Quand vous combinez ces caractères, cela indique de sélectionner une valeur sur cinq dans la plage de 0 à 59. Un manière plus simple de l’exprimer est « toutes les cinq minutes ».

Les quatre champs restants représentent numériquement l’heure d’une journée de 24 heures, le jour du mois, le mois d’une année de 12 mois et le jour de la semaine de sept jours. Un astérisque pour ces champs indique de sélectionner toutes les valeurs possibles. Dans cet exemple, nous sélectionnons « chaque heure de chaque jour de chaque mois ».

Quand vous rassemblez tous les champs, l’expression indique « la première seconde de chaque cinquième minute de chaque heure de chaque jour de chaque mois ».

Comment créer un déclencheur de minuteur

Vous pouvez créer un déclencheur de minuteur dans le portail Azure. Dans votre application de fonction, sélectionnez Déclencheur de minuteur dans la liste des modèles de déclencheurs. Entrez la logique à exécuter. Fournissez un nom de paramètre d’horodatage et l’expression CRON.

Dans ce module, nous allons nous concentrer sur la création de déclencheurs sur le portail. Cependant, il est également possible de les créer programmatiquement avec Core Tools, Visual Studio ou Visual Studio Code.

Un déclencheur de minuteur appelle le code de la fonction selon une planification régulière. Pour définir la planification d’un déclencheur de minuteur, nous créons une expression CRON, qui est une chaîne représentant un ensemble d’heures.