Syntaxe cron d’AWS
Une expression EventBridge ressemble à cron(0 12 * * ? *) et comporte six champs : minutes, heures, jour du mois, mois, jour de la semaine et année. Il n’y a pas de champ secondes : la résolution minimale est donc d’une minute. Les jours vont de 1 (dimanche) à 7 (samedi), et des noms comme MON-FRI fonctionnent aussi.
Les règles à respecter
L’un des deux champs de jour doit valoir « ? » : utilisez cron(0 8 ? * MON-FRI *) pour les matins en semaine et cron(0 8 1 * ? *) pour le premier du mois. Le champ année est obligatoire ; mettez * pour toutes les années. L, W et # sont acceptés dans les champs de jour, par exemple cron(0 18 L * ? *) pour le dernier jour de chaque mois.
Fuseaux horaires
Les règles planifiées EventBridge s’exécutent toujours en UTC ; l’outil évalue donc les expressions AWS en UTC par défaut et affiche votre heure locale à côté de chaque exécution. EventBridge Scheduler permet d’associer un fuseau horaire à une planification : choisissez alors le même fuseau dans le sélecteur pour la prévisualiser correctement.
Cron ou rate ?
Pour des intervalles fixes comme toutes les 15 minutes, une expression rate est plus simple : rate(15 minutes) commence à compter à la création de la règle. Utilisez cron quand la tâche doit tourner à des heures calendaires — 08:00 en semaine, le dernier jour du mois ou une année donnée. EventBridge Scheduler propose aussi des planifications ponctuelles at(...) et des fenêtres de temps flexibles qui étalent les appels.
Questions fréquentes
- Pourquoi AWS refuse-t-il mon expression cron ?
- Les causes habituelles : cinq champs au lieu de six, un champ année manquant, ou aucun « ? » dans le jour du mois ou le jour de la semaine. Le message d’erreur indique le champ fautif.
- Comment lancer une Lambda toutes les 5 minutes avec cron ?
- Utilisez cron(0/5 * * * ? *). Pour des intervalles simples, EventBridge accepte aussi rate(5 minutes).
- Le cron AWS est-il en UTC ?
- Oui pour les règles EventBridge. EventBridge Scheduler permet de définir un fuseau horaire par planification.
- Quel est l’intervalle minimal ?
- Une minute, car le cron AWS n’a pas de champ secondes.