Types de planification sur le EventBridge planificateur - EventBridge Planificateur

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Types de planification sur le EventBridge planificateur

La rubrique suivante décrit les différents types d'horaires pris en charge par Amazon EventBridge Scheduler, ainsi que la façon dont EventBridge Scheduler gère l'heure d'été et la planification dans différents fuseaux horaires. Vous pouvez choisir entre trois types de planification lors de la configuration de votre calendrier : les programmes basés sur les taux, les programmes basés sur des crons et les programmes ponctuels.

Les programmes basés sur les taux et ceux basés sur le cron sont des programmes récurrents. Vous configurez chaque type de planification récurrente à l'aide d'une expression de planification correspondant au type de planification que vous souhaitez configurer et en spécifiant le fuseau horaire dans lequel le EventBridge planificateur évalue l'expression.

Un calendrier ponctuel est un calendrier qui n'appelle une cible qu'une seule fois. Vous configurez un calendrier ponctuel en spécifiant l'heure, la date et le fuseau horaire dans lesquels le EventBridge planificateur évalue le calendrier.

Note

Tous les types de planification sur EventBridge Scheduler invoquent leurs cibles avec une précision de 60 secondes. Cela signifie que si vous définissez votre planning pour qu'il s'exécute à1:00, il invoquera l'API cible entre 1:00:00 et1:00:59.

Utilisez les sections suivantes pour en savoir plus sur la configuration des expressions de planification pour chaque type de planification récurrente et sur la façon de configurer une planification ponctuelle dans le EventBridge planificateur.

Horaires basés sur les tarifs

Un calendrier basé sur des taux commence après la date de début que vous spécifiez pour votre programme et s'exécute à un rythme régulier que vous définissez jusqu'à la date de fin du calendrier. Vous pouvez configurer les cas d'utilisation de la planification récurrente les plus courants à l'aide d'une planification basée sur les taux. Par exemple, si vous souhaitez un calendrier qui invoque son objectif toutes les 15 minutes, une fois toutes les deux heures ou une fois tous les cinq jours, vous pouvez utiliser un calendrier basé sur les taux pour y parvenir. Vous configurez une planification basée sur les taux à l'aide d'une expression de taux.

Dans le cas des programmes basés sur des taux, vous utilisez la StartDatepropriété pour définir la première occurrence du calendrier. Si vous ne fournissez pas de StartDate calendrier basé sur le taux, votre calendrier commence à invoquer l'objectif immédiatement.

Les expressions de taux comportent deux champs obligatoires séparés par un espace blanc, comme indiqué ci-dessous.

Syntaxe

rate(value unit)
value

Nombre positif.

unité

L'unité de temps pendant laquelle vous souhaitez que votre emploi du temps invoque son objectif.

Entrées valides : minutes | hours | days

Exemples

L'exemple suivant montre comment utiliser des expressions de taux avec la AWS CLI create-schedule commande pour configurer une planification basée sur le taux. Cet exemple crée un planning qui s'exécute toutes les cinq minutes et envoie un message à une file d'attente Amazon SQS, en utilisant le type de cible modélisé. SqsParameters

Dans la mesure où cet exemple ne définit pas de valeur pour le --start-date paramètre, le calendrier commence à appeler sa cible immédiatement après sa création et son activation.

$ aws scheduler create-schedule --schedule-expression 'rate(5 minutes)' --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

Horaires basés sur CRON

Une expression cron crée un calendrier récurrent précis qui s'exécute à un moment précis de votre choix. EventBridge Le planificateur prend en charge la configuration des horaires basés sur le cron en temps universel coordonné (UTC) ou dans le fuseau horaire que vous spécifiez lors de la création de votre calendrier. Avec les plannings basés sur des crons, vous pouvez mieux contrôler le moment et la fréquence d'exécution de votre planning. Utilisez des programmes basés sur des crons lorsque vous avez besoin d'un calendrier de récurrence personnalisé qui n'est pas pris en charge par l'une des expressions de taux du EventBridge planificateur. Par exemple, vous pouvez créer un calendrier basé sur des crons qui s'exécute à 8 h 00. PST le premier lundi de chaque mois par exemple. Vous configurez un calendrier basé sur cron à l'aide d'une expression cron.

Une expression cron se compose de cinq champs obligatoires séparés par des espaces : minutes day-of-month, heures day-of-week, mois et un champ facultatif, année, comme indiqué ci-dessous.

Syntaxe

cron(minutes hours day-of-month month day-of-week year)
Champ Valeurs Caractères génériques

Minutes

0-59

, - * /

Heures

0-23

, - * /

D ay-of-month

1-31

, - * ? / L W

Mois

1-12 ou JAN-DEC

, - * /

D ay-of-week

1-7 ou DIM-SAM

, - * ? 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 englobe January, February et March.

  • 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 (Heures), * inclut toutes les heures. Vous ne pouvez pas utiliser * à la fois dans les ay-of-week champs D ay-of-month et D. 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 ay-of-month champ D, vous pouvez saisir 7 et si un jour de la semaine vous convient, vous pouvez saisir ? dans le ay-of-week champ D.

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

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

  • Le caractère générique # dans le ay-of-week champ D indique une certaine instance du jour de la semaine spécifié dans un délai d'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.

    Note

    Si vous utilisez un caractère « # », vous ne pouvez définir qu'une seule expression dans le day-of-week champ. Par exemple, "3#1,6#3" n'est pas valide, car il est interprété comme deux expressions.

Exemples

L'exemple suivant montre comment utiliser des expressions cron avec la AWS CLI create-schedule commande pour configurer un planning basé sur cron. Cet exemple crée un calendrier qui s'exécute à 10 h 15 UTC+0 le dernier vendredi de chaque mois pendant les années 2022 à 2023, et envoie un message à une file d'attente Amazon SQS, en utilisant le type de cible modélisé. SqsParameters

$ aws scheduler create-schedule --schedule-expression "cron(15 10 ? * 6L 2022-2023)" --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --flexible-time-window '{ "Mode": "OFF"}'

Planifications ponctuelles

Un calendrier ponctuel n'invoquera une cible qu'une seule fois à la date et à l'heure que vous spécifiez à l'aide d'une date valide et d'un horodatage. EventBridge Le planificateur prend en charge la planification en temps universel coordonné (UTC) ou dans le fuseau horaire que vous spécifiez lors de la création de votre calendrier.

Note

Un calendrier ponctuel est toujours pris en compte dans le quota de votre compte une fois qu'il a été exécuté et que son objectif a été atteint. Nous vous recommandons de supprimer vos programmes ponctuels une fois leur exécution terminée.

Vous configurez un calendrier ponctuel à l'aide d'une expression at. Une expression at correspond à la date et à l'heure auxquelles vous souhaitez que EventBridge Scheduler appelle votre calendrier, comme indiqué ci-dessous.

Syntaxe

at(yyyy-mm-ddThh:mm:ss)

Lorsque vous configurez un calendrier ponctuel, le EventBridge planificateur ignore le StartDate et EndDate que vous spécifiez pour le calendrier.

Exemples

L'exemple suivant montre comment utiliser des expressions at avec la AWS CLI create-schedule commande pour configurer un calendrier ponctuel. Cet exemple crée un calendrier qui s'exécute une fois à 13 h UTC-8 le 20 novembre 2022 et envoie un message à une file d'attente Amazon SQS, en utilisant le type de cible modélisé. SqsParameters

$ aws scheduler create-schedule --schedule-expression "at(2022-11-20T13:00:00)" --name schedule-name \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "TEST_PAYLOAD" }' \ --schedule-expression-timezone "America/Los_Angeles" --flexible-time-window '{ "Mode": "OFF"}'

Fuseaux horaires sur le EventBridge planificateur

EventBridge Le planificateur prend en charge la configuration de calendriers ponctuels et basés sur des crons dans tous les fuseaux horaires que vous spécifiez. EventBridge Le planificateur utilise la base de données de fuseaux horaires gérée par l'Internet Assigned Numbers Authority (IANA).

Avec leAWS CLI, vous pouvez définir le fuseau horaire dans lequel vous souhaitez que EventBridge Scheduler évalue votre planning à l'aide du --schedule-expression-timezone paramètre. Par exemple, la commande suivante crée un calendrier basé sur un cron qui invoque un modèle de cible Amazon SQS dans America/New_York tous les SendMessage jours à 8 h 30.

$ aws scheduler create-schedule --schedule-expression "cron(30 8 * * ? *)" --name schedule-in-est \ --target '{"RoleArn": "role-arn", "Arn": "QUEUE_ARN", "Input": "This schedule runs in the America/New_York time zone." }' \ --schedule-expression-timezone "America/New_York" --flexible-time-window '{ "Mode": "OFF"}'

Heure d'été sur EventBridge Scheduler

EventBridge Le planificateur ajuste automatiquement votre emploi du temps en fonction de l'heure d'été. Lorsque le temps avance au printemps, si une expression cron tombe sur une date et une heure inexistantes, votre appel de calendrier est ignoré. Lorsque le temps recule à l'automne, votre emploi du temps ne s'exécute qu'une seule fois et ne répète pas son invocation. Les invocations suivantes se produisent normalement à la date et à l'heure spécifiées.

EventBridge Le planificateur ajuste votre emploi du temps en fonction du fuseau horaire que vous spécifiez lorsque vous créez le calendrier. Si vous configurez un horaire dans America/New_York, celui-ci s'ajuste lorsque l'heure change dans ce fuseau horaire, tandis qu'un horaire dans America/Los_Angeles est ajusté trois heures plus tard lorsque l'heure change sur la côte ouest.

Pour les horaires basés sur des taux days dont l'unité days représente, par exemplerate(1 days), une durée de 24 heures au compteur. Cela signifie que lorsque l'heure d'été réduit un jour à 23 heures ou le prolonge à 25 heures, EventBridge Scheduler évalue toujours l'expression du taux 24 heures après le dernier appel du calendrier.

Note

Certains fuseaux horaires ne respectent pas l'heure d'été, conformément aux règles et réglementations locales. Si vous créez un horaire dans un fuseau horaire qui ne respecte pas l'heure d'été, le EventBridge planificateur ne l'ajuste pas. Les ajustements de l'heure d'été ne s'appliquent pas aux horaires en temps universel coordonné (UTC).

Exemple

Imaginons un scénario dans lequel vous créez un calendrier en utilisant l'expression cron suivante dans America/Los_Angeles :. cron(30 2 * * ? *) Ce programme fonctionne tous les jours à 2 h 30 dans le fuseau horaire indiqué.

  • Printemps avancé — Lorsque le temps passe de 1 h 59 à 3 h 00 au printemps, le EventBridge planificateur ignore l'invocation du calendrier ce jour-là et reprend l'exécution du calendrier normalement le jour suivant.

  • Solution de rechange — Lorsque le temps recule à l'automne de 2 h 59 à 2 h 00, le EventBridge planificateur exécute l'horaire une seule fois à 2 h 30 avant le changement de temps, mais ne répète pas l'invocation de l'horaire à 2 h 30 après le changement d'heure.