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 AWS SDKs pour créer un calendrier avec un modèle de cible AmazonSQS. 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 IAM les utilisateurs avec les autorisations minimales requises décrites dansUtilisation de politiques basées sur l'identité dans le planificateur EventBridge . 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 le AWS 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 Interface utilisateur 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 une planification à l'aide de la console
  1. Connectez-vous au AWS Management Console, puis cliquez sur le lien suivant pour ouvrir la section EventBridge Planificateur de la EventBridge console : home ? https://us-west-2.console.aws.amazon.com/scheduler/ 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 Planification basée sur le taux et entrez un nombre positif pour Valeur, puis choisissez une unité dans les options déroulantes.

      Pour plus d'informations sur l'utilisation des expressions cron et rate, consultezTypes d'horaires dans 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. 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 cibleAPI. Pour cet exemple, nous allons choisir la cible SQS SendMessage modélisée par Amazon.

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

    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 DELETEsi 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 NONEou ne choisissez pas une 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éessai et file d'attente de lettres mortes (DLQ), pour la politique de réessai, activez Réessayer pour configurer une politique de nouvelle tentative 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 Dead-letter queue (DLQ), choisissez l'une des options suivantes :

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

      • Sélectionnez une SQS file d'attente Amazon dans mon AWS compte sous la forme DLQ : choisissez cette option, puis sélectionnez une file d'attente ARN dans la liste déroulante, configurez DLQ la même Compte AWS que celle dans laquelle vous créez le calendrier.

      • Spécifiez une SQS file d'attente Amazon dans un autre AWS compte comme DLQ suit : choisissez cette option, puis entrez la configuration ARN de la file d'attente comme suitDLQ, si la file d'attente se trouve dans un autre compte Compte AWS. Vous devez saisir le nom exact ARN 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 KMS clé gérée par le client afin de chiffrer votre entrée cible. Si vous choisissez cette option, entrez une KMS clé existante ARN ou choisissez Créer une AWS KMS clé 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 dans le EventBridge planificateur

    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 à IAM la console 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 planning pour terminer la création de votre nouveau planning. 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 l'SQSobjectif Amazon, ouvrez la SQS console Amazon et procédez comme suit :

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

    2. Choisissez Envoyer et recevoir des messages.

    3. Sur la page Envoyer et recevoir des messages, sous Recevoir des messages, choisissez Solling for 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 create-schedulepour créer un calendrier EventBridge Scheduler avec un modèle de cible AmazonSQS. Remplacez les valeurs d'espace réservé pour les paramètres suivants par vos informations :

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

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

  • Arn — Entrez le nom ARN de la cible. Dans ce cas, la cible est une file d'SQSattente Amazon.

  • 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 du EventBridge planificateur SDKs

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

Exemple Python SDK
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 Java SDK
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 ?