Commencer à utiliser EventBridge Scheduler - 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.

Commencer à utiliser EventBridge Scheduler

Cette rubrique décrit la création d'un nouveau calendrier du EventBridge planificateur. Vous utilisez la console EventBridge Scheduler AWS Command Line Interface (AWS CLI) ou les AWS kits SDK pour créer un calendrier avec un modèle de cible Amazon SQS. Vous allez ensuite configurer la journalisation, configurer les nouvelles tentatives et définir une durée de rétention maximale pour les tâches ayant échoué. Après avoir créé le calendrier, vous allez vérifier qu'il invoque correctement la cible et envoie un message à la file d'attente cible.

Note

Pour suivre ce guide, nous vous recommandons de configurer les utilisateurs IAM avec les autorisations minimales requises décrites dansUtilisation de politiques basées sur l’identité. Après avoir créé et configuré un utilisateur, exécutez la commande suivante pour définir vos informations d'accès. Vous aurez besoin de votre identifiant de clé d'accès et de votre clé d'accès secrète pour configurer leAWS CLI.

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

Pour plus d'informations sur les différentes manières de définir vos informations d'identification, consultez la section Paramètres de configuration et priorité dans le Guide de l'AWS Command Line Interfaceutilisateur de la version 2.

Prérequis

Avant de suivre les étapes décrites dans cette section, vous devez effectuer les opérations suivantes :

Création d'un calendrier à l'aide de la console EventBridge Scheduler

Pour créer un nouveau calendrier à l'aide de la console
  1. Connectez-vous auAWS Management Console, puis cliquez sur le lien suivant pour ouvrir la section EventBridge Planificateur de la EventBridge console : https://us-west-2.console.aws.amazon.com/scheduler/home?region=us-west-2#home

    Note

    Vous pouvez changer de région Région AWS en utilisant le sélecteur AWS Management Console de région.

  2. Sur la page Planifications, choisissez Créer une planification.

  3. Sur la page Spécifier le détail de la planification, dans la section Nom et description de la planification, procédez comme suit :

    1. Pour Nom de la planification, saisissez un nom à attribuer à votre planification. Par exemple, MyTestSchedule

    2. Dans Description (facultatif), entrez une description pour votre planning. Par exemple, My first schedule.

    3. Pour le groupe de planification, choisissez un groupe de planification dans les options du menu déroulant. Si vous n'avez encore créé aucun groupe de planning, vous pouvez choisir le default groupe correspondant à votre planning. Pour créer un nouveau groupe de planning, cliquez sur le lien « Créez votre propre planning » dans la description de la console. Vous utilisez des groupes de planifications pour leur ajouter des balises.

  4. Dans la section Schéma de planification, procédez comme suit :

    1. Pour Occurrence, choisissez l'une des options de modèle suivantes. Les options de configuration changent en fonction du modèle que vous sélectionnez.

      • Calendrier ponctuel : un calendrier ponctuel n'invoque un objectif qu'une seule fois, à la date et à l'heure que vous spécifiez.

        Pour Date et heure, entrez une date valide dans le YYYY/MM/DD format. Spécifiez ensuite un horodatage au format 24 heureshh:mm. Enfin, choisissez un fuseau horaire dans les options du menu déroulant.

      • Calendrier récurrent : un calendrier récurrent invoque un objectif à un taux que vous spécifiez à l'aide d'une cron expression ou d'une expression de taux.

        Choisissez la planification basée sur Cron pour configurer une planification à l'aide d'une cron expression. Pour utiliser une expression de taux, choisissez la planification basée sur le taux et entrez un nombre positif pour la valeur, puis choisissez une unité dans les options du menu déroulant.

      Pour plus d'informations sur l'utilisation des expressions cron et rate, consultezTypes de planification sur le EventBridge planificateur.

    2. Pour la fenêtre horaire flexible, choisissez Désactivé pour désactiver l'option, ou choisissez l'une des fenêtres temporelles prédéfinies dans la liste déroulante. Par exemple, si vous choisissez15 minutes et que vous définissez une planification récurrente pour invoquer son objectif une fois par heure, la planification s'exécute dans les 15 minutes suivant le début de chaque heure.

  5. Note

    La fonctionnalité de fenêtre horaire flexible n'est pas disponible pour les horaires ponctuels.

    Si vous avez choisi Calendrier récurrent à l'étape précédente, dans la section Période, spécifiez un fuseau horaire et définissez éventuellement une date et une heure de début, ainsi qu'une date et une heure de fin pour le calendrier. Un calendrier récurrent sans date de début commence dès qu'il est créé et disponible. Un planning récurrent sans date de fin continuera à invoquer son objectif indéfiniment.

  6. Choisissez Suivant.

  7. Sur la page Sélectionner une cible, procédez comme suit :

    1. Sélectionnez des cibles modélisées et choisissez une API cible. Pour cet exemple, nous allons choisir la cible modélisée Amazon SQS. SendMessage

    2. SendMessageDans la section, pour la file d'attente SQS, choisissez un ARN de file d'attente Amazon SQS existant, par exemple arn:aws:sqs:us-west-2:123456789012:TestQueue dans la liste déroulante. Pour créer une nouvelle file d'attente, choisissez Create new SQS Queue pour accéder à la console Amazon SQS. Après avoir créé une file d'attente, revenez à la console du EventBridge planificateur et actualisez le menu déroulant. Le nouvel ARN de votre file d'attente apparaît et peut être sélectionné.

    3. Pour Target, entrez la charge utile que EventBridge Scheduler doit envoyer à la cible. Pour cet exemple, nous allons envoyer le message suivant à la file d'attente cible : Hello, it's EventBridge Scheduler.

  8. Choisissez Suivant, puis sur la page Paramètres - facultatif, procédez comme suit :

    1. Dans la section État de la planification, pour Activer la planification, activez ou désactivez la fonctionnalité à l'aide du commutateur. Par défaut, le EventBridge planificateur active votre planning.

    2. Dans la section Action une fois le planning terminé, configurez l'action que le EventBridge planificateur exécute une fois le planning terminé :

      • Choisissez SUPPRIMER si vous souhaitez que le planning soit automatiquement supprimé. Pour les plannings ponctuels, cela se produit une fois que le planning a invoqué la cible une fois. Pour les plannings récurrents, cela se produit après le dernier appel planifié du planning. Pour plus d'informations sur la suppression automatique, consultezSuppression une fois le planning terminé.

      • Choisissez AUCUNE, ou ne choisissez aucune valeur, si vous ne souhaitez pas que le EventBridge planificateur prenne des mesures une fois le planning terminé.

    3. Dans la section Politique de rétentatives et file d'attente de lettres mortes (DLQ), pour la politique de réessai, activez Réessayer pour configurer une politique de nouvelles tentatives adaptée à votre calendrier. Avec les politiques de nouvelle tentative, si un calendrier ne parvient pas à invoquer sa cible, le EventBridge planificateur le réexécute. Si elle est configurée, vous devez définir la durée de rétention maximale et les nouvelles tentatives pour la planification.

    4. Pour Âge maximum de l'événement (facultatif), entrez le nombre maximum d'heures et de minutes pendant lequel le EventBridge planificateur doit conserver un événement non traité.

      Note

      La valeur maximale est de 24 heures.

    5. Pour Nombre maximum de tentatives, entrez le nombre maximum de fois que le EventBridge planificateur réessaie le calendrier si la cible renvoie une erreur.

      Note

      La valeur maximale est 185 nouvelles tentatives.

    6. Pour la file d'attente des lettres mortes (DLQ), choisissez l'une des options suivantes :

      • Aucun — Choisissez cette option si vous ne souhaitez pas configurer de DLQ.

      • Sélectionnez une file d'attente Amazon SQS dans mon AWS compte en tant que DLQ : choisissez cette option, puis sélectionnez un ARN de file d'attente dans la liste déroulante, configurez un DLQ Compte AWS identique à celui dans lequel vous créez le planning.

      • Spécifiez une file d'attente Amazon SQS dans un autre AWS compte en tant que DLQ : choisissez cette option, puis entrez l'ARN de la file d'attente configurée en tant que DLQ, si la file d'attente se trouve dans un autre compte. Compte AWS Vous devez saisir l'ARN exact de la file d'attente pour pouvoir utiliser cette option.

    7. Dans la section Chiffrement, choisissez Personnaliser les paramètres de chiffrement (avancés) pour utiliser une clé KMS gérée par le client afin de chiffrer votre entrée cible. Si vous choisissez cette option, entrez un ARN de clé KMS existant ou choisissez Créer une clé AWS KMS pour accéder à la AWS KMS console. Pour plus d'informations sur la façon dont EventBridge Scheduler chiffre vos données au repos, consultez. Chiffrement au repos

    8. Pour Autorisations, choisissez Utiliser le rôle existant, puis sélectionnez le rôle que vous avez créé lors de la procédure de configuration dans la liste déroulante. Vous pouvez également choisir Accéder à la console IAM pour créer un nouveau rôle.

      Si vous souhaitez que le EventBridge planificateur crée un nouveau rôle d'exécution pour vous, choisissez plutôt Créer un nouveau rôle pour ce calendrier. Ensuite, saisissez un nom pour Nom du rôle. Si vous choisissez cette option, le EventBridge planificateur ajoute au rôle les autorisations requises pour votre cible modélisée.

  9. Choisissez Suivant.

  10. Sur la page Examiner et créer une planification, examinez les détails de votre planification. Dans chaque section, choisissez Modifier pour revenir à cette étape et modifier ses détails.

  11. Choisissez Créer un calendrier pour terminer la création de votre nouveau calendrier. Vous pouvez consulter la liste de vos planifications nouvelles et existantes sur la page Planifications. Sous la colonne État, vérifiez que votre nouvelle planification est activée.

  12. Pour vérifier que votre planning invoque la cible Amazon SQS, ouvrez la console Amazon SQS et procédez comme suit :

    1. Choisissez la file d'attente cible dans la liste des files d'attente.

    2. Choisissez Send and receive messages (Envoyer et recevoir des messages).

    3. Sur la page Envoyer et recevoir des messages, sous Recevoir des messages, choisissez Rechercher des messages pour récupérer les messages de test que votre planning a envoyés à la file d'attente cible.

Créez un calendrier à l'aide du AWS CLI

L'exemple suivant montre comment utiliser la AWS CLI commande pour create-schedulecréer un planning EventBridge Scheduler avec un modèle de cible Amazon SQS. Remplacez les valeurs d'espace réservé pour les paramètres suivants par vos informations :

  • --name — Entrez un nom pour le calendrier.

  • RoleArn— Entrez l'ARN du rôle d'exécution que vous souhaitez associer au planning.

  • Arn — Entrez l'ARN de la cible. Dans ce cas, la cible est une file d'attente Amazon SQS.

  • Entrée — Entrez un message que le EventBridge planificateur envoie à la file d'attente cible.

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

Créez un calendrier à l'aide des SDK du EventBridge planificateur

Dans l'exemple suivant, vous utilisez les SDK du EventBridge planificateur pour créer un calendrier du EventBridge planificateur avec un modèle de cible Amazon SQS.

Exemple SDK Python
import boto3 scheduler = boto3.client('scheduler') flex_window = { "Mode": "OFF" } sqs_templated = { "RoleArn": "<ROLE_ARN>", "Arn": "<QUEUE_ARN>", "Input": "Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'" } scheduler.create_schedule( Name="sqs-python-templated", ScheduleExpression="rate(5 minutes)", Target=sqs_templated, FlexibleTimeWindow=flex_window)
Exemple Kit SDK Java
package com.example; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.scheduler.SchedulerClient; import software.amazon.awssdk.services.scheduler.model.*; public class MySchedulerApp { public static void main(String[] args) { final SchedulerClient client = SchedulerClient.builder() .region(Region.US_WEST_2) .build(); Target sqsTarget = Target.builder() .roleArn("<ROLE_ARN>") .arn("<QUEUE_ARN>") .input("Message for scheduleArn: '<aws.scheduler.schedule-arn>', scheduledTime: '<aws.scheduler.scheduled-time>'") .build(); CreateScheduleRequest createScheduleRequest = CreateScheduleRequest.builder() .name("<SCHEDULE NAME>") .scheduleExpression("rate(10 minutes)") .target(sqsTarget) .flexibleTimeWindow(FlexibleTimeWindow.builder() .mode(FlexibleTimeWindowMode.OFF) .build()) .build(); client.createSchedule(createScheduleRequest); System.out.println("Created schedule with rate expression and an Amazon SQS templated target"); } }

Quelle est la prochaine étape ?

  • Pour plus d'informations sur la gestion de votre planning à l'aide de la console ou du SDK du EventBridge planificateurAWS CLI, consultez. Gestion d'un planning

  • Pour plus d'informations sur la configuration de cibles modélisées et sur l'utilisation du paramètre de cible universel, consultezGestion des cibles.

  • Pour plus d'informations sur les types de données et les opérations d'API du EventBridge planificateur, consultez la référence de l'API du EventBridge planificateur.