Expression de planification des règles - Événements Amazon CloudWatch

Expression de planification des règles

Vous pouvez créer des règles qui se déclenchent automatiquement selon un calendrier automatisé dans CloudWatch Events au moyen d'expressions cron ou rate. Tous les événements planifiés utilisent le fuseau horaire UTC et la précision minimale pour les horaires est de 1 minute.

CloudWatch Events prend en charge les expressions cron et de fréquence. Les expressions de fréquence sont plus simples à définir, mais ne proposent pas le calendrier précis de contrôle que proposent les expressions cron. Par exemple, une expression cron vous permet de définir une règle qui se déclenche à une heure spécifiée sur un jour de chaque semaine ou mois. En revanche, les expressions de fréquence déclenchent une règle à une fréquence standard, par exemple une fois toutes les heures ou une fois par jour.

Note

CloudWatch Events ne fournit pas de précision de deuxième niveau dans les expressions de planification. Le niveau de résolution maximum lors de l'utilisation d'une expression cron est d'une minute. En raison de la nature distribuée de CloudWatch Events et des services cible, le délai entre le moment où la règle planifiée est déclenchée et celui où le service cible lance l'exécution de la ressource cible peut être de plusieurs secondes. Votre règle planifiée est déclenchée au cours de cette minute, mais pas précisément à la seconde exacte.

Expressions cron

Ces expressions se composent de six champs obligatoires qui sont séparés par des espaces.

Syntaxe

cron(fields)
Champ Valeurs Caractères génériques

Minutes

0-59

, - * /

Heures

0-23

, - * /

Jour du mois

1-31

, - * ? / L W

Mois

1-12 ou JAN-DEC

, - * /

Jour de la semaine

1-7 ou SUN-SAT

, - * ? L #

Année

1970-2199

, - * /

Caractères génériques

  • Le caractère générique , (virgule) inclut des valeurs supplémentaires. Dans le champ Month, JAN,FEB,MAR incluraient janvier, février et mars.

  • Le caractère générique - (tiret) spécifie des plages. Dans le champ Day, 1-15 englobe les jours 1 à 15 du mois spécifié.

  • Le caractère générique * (astérisque) inclut toutes les valeurs du champ. Dans le champ Hours, * inclut toutes les heures. Vous ne pouvez pas utiliser * à la fois dans les champs jour-du-mois et jour-de-la-semaine. Si vous l'utilisez dans un champ, vous devez utiliser ? dans l'autre.

  • Le caractère générique / (barre oblique) spécifie les incréments. Dans le champ Minutes, vous pouvez entrer 1/10 pour spécifier toutes les dix minutes, à partir de la première minute de l'heure (par exemple, les 11e, 21e, 31e minutes, et ainsi de suite).

  • Le caractère générique ? (point d'interrogation) indique l'un ou l'autre. Dans le champ Day-of-month, vous pouvez entrer 7, et si peu importe pour vous le jour de la semaine auquel correspond le 7, vous pouvez entrer ? dans le champ Day-of-week (Jour de la semaine).

  • Le caractère générique L dans les champs Day-of-month ou Day-of-week spécifie le dernier jour du mois ou de la semaine.

  • Le caractère générique W dans le champ Day-of-month spécifie un jour de la semaine. Dans le champ Day-of-month, 3W indique le jour le plus proche du troisième jour de la semaine du mois.

  • Le caractère générique # dans le champ Day-of-week spécifie une certaine instance du jour de la semaine spécifié dans un mois. Par exemple, 3#2 correspond au deuxième mardi du mois : le 3 fait référence à mardi, car c'est le troisième jour de chaque semaine, et le 2 fait référence à la deuxième journée de ce type dans le mois.

Restrictions

  • Vous ne pouvez pas spécifier les champs Day-of-month et Day-of-week dans une même expression cron. Si vous spécifiez une valeur dans l'un de ces champs, vous devez utiliser un caractère générique ? (point d'interrogation) dans l'autre.

  • Les expressions cron qui entraînent des fréquences d'une rapidité supérieure à 1 minute ne sont pas prises en charge.

Exemples

Vous pouvez utiliser les exemples de chaînes cron suivants lorsque vous créez une règle avec planification.

Minutes Heures Jour du mois Mois Jour de la semaine Année Signification

0

10

*

*

?

*

Exécuter à 10 h 00 (UTC) chaque jour

15

12

*

*

?

*

Exécuter à 12 h 15 (UTC) chaque jour

0 USD

18

?

*

MON-FRI

*

Exécuter à 18 h 00 (UTC) du lundi au vendredi

0 USD

8

1

*

?

*

Exécuter à 8 h 00 (UTC) chaque 1er jour du mois

0/15

*

*

*

?

*

Exécuter toutes les 15 minutes

0/10

*

?

*

MON-FRI

*

Exécuter toutes les 10 minutes du lundi au vendredi

0/5

8-17

?

*

MON-FRI

*

Exécuter toutes les 5 minutes du lundi au vendredi entre 8 h 00 et 17 h 55 (UTC)

Les exemples suivants indiquent comment utiliser les expressions Cron avec la commande d'AWS CLI put-rule. Le premier exemple crée une règle qui est déclenchée chaque jour à 12 h 00 UTC.

aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name MyRule1

L'exemple suivant crée une règle qui est déclenchée chaque jour 5 et 35 minutes après 14 h 00 UTC.

aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name MyRule2

L'exemple suivant crée une règle qui est déclenchée à 10 h 15 UTC, le dernier vendredi de chaque mois, pendant les années 2002 à 2005.

aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2002-2005)" --name MyRule3

Expressions de fréquence

Une expression de fréquence démarre au moment où vous créez la règle d'événement planifié, puis s'exécute selon le calendrier défini.

Les expressions de fréquence comportent deux champs obligatoires. Ces champs sont séparés par un espace.

Syntaxe

rate(value unit)
valeur

Nombre positif.

unité

Unité de temps. Des unités différentes sont nécessaires pour les valeurs de 1 (par exemple minute) et les valeurs supérieures à 1, (par exemple, minutes).

Valeurs valides : minute | minutes | heure | heures | jour | jours

Restrictions

Si la valeur est égale à 1, l'unité doit être au singulier. De même, pour les valeurs supérieures à 1, l'unité doit être au pluriel. Par exemple, les fréquences rate(1 hours) et rate(5 hour) ne sont pas valides, mais les fréquences rate(1 hour) et rate(5 hours) sont valides.

Exemples

Les exemples suivants indiquent comment utiliser les expressions rate avec la commande d'AWS CLI put-rule. Le premier exemple déclenche la règle toutes les minutes, le deuxième la déclenche toutes les cinq minutes, le suivant une fois par heure, et l'exemple final une fois par jour.

aws events put-rule --schedule-expression "rate(1 minute)" --name MyRule2
aws events put-rule --schedule-expression "rate(5 minutes)" --name MyRule3
aws events put-rule --schedule-expression "rate(1 hour)" --name MyRule4
aws events put-rule --schedule-expression "rate(1 day)" --name MyRule5