Cómo empezar con EventBridge Scheduler - EventBridge Planificador

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo empezar con EventBridge Scheduler

En este tema se describe la creación de un nuevo EventBridge horario del Scheduler. Usas la consola de EventBridge Scheduler, AWS Command Line Interface (AWS CLI), o AWS SDKs para crear una programación con un objetivo de Amazon SQS con una plantilla. A continuación, configurará el registro, configurará los reintentos y establecerá un tiempo máximo de retención para las tareas fallidas. Tras crear la programación, verificará que la programación invoque correctamente el destino y envíe un mensaje a la cola de destino.

nota

Para seguir esta guía, le recomendamos que configure IAM los usuarios con los permisos mínimos requeridos descritos en. Uso de políticas basadas en la identidad en Scheduler EventBridge Tras crear y configurar un usuario, ejecute el siguiente comando para configurar sus credenciales de acceso. Necesitará su ID de clave de acceso y su clave de acceso secreta para configurar la 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

Para obtener más información sobre las distintas formas de establecer las credenciales, consulte los Ajustes de configuración y prioridad en la Guía del usuario de la AWS Command Line Interface de la versión 2.

Requisitos previos

Antes de seguir los pasos de esta sección, debe hacer lo siguiente:

Cree un horario mediante la consola de EventBridge Scheduler

Para crear un programa nuevo con la consola
  1. Inicie sesión en y AWS Management Console, a continuación, elija el siguiente enlace para abrir la sección EventBridge Programador de la EventBridge consola: https://us-west-2.console.aws.amazon.com/scheduler/ ¿inicio? región=us-west-2 #home

    nota

    Puedes cambiar de región Región de AWS utilizando el selector de regiones. AWS Management Console

  2. En la página de Programaciones, elija Crear programación.

  3. En la página de Especificar los detalles de la programación, en la sección de Nombre y descripción de la programación, realice lo siguiente:

    1. En Nombre de la programación, escriba un nombre para la programación. Por ejemplo, MyTestSchedule .

    2. En Descripción: opcional, introduzca una descripción para su programación. Por ejemplo, My first schedule.

    3. En Grupo de programaciones, elija un grupo de programaciones de las opciones de la lista desplegable. Si no ha creado ningún grupo de programaciones anteriormente, puede elegir el grupo default para su programación. Para crear un nuevo grupo de programaciones, seleccione el enlace para crear su propia programación en la descripción de la consola. Los grupos de programaciones se utilizan para agregar etiquetas a grupos de programaciones.

  4. En la sección Patrón de programación, realice lo siguiente:

    1. En Incidencia, elija una de las siguientes opciones de patrón. Las opciones de configuración cambian en función del patrón que seleccione.

      • Programación única: una programación única invoca solo una vez un destino en la fecha y hora que especifique.

        En Fecha y hora, introduzca una fecha válida en formato YYYY/MM/DD. A continuación, especifique una marca de tiempo en el formato hh:mm de 24 horas. Por último, elija una zona horaria de las opciones desplegables.

      • Programación recurrente: una programación recurrente invoca un destino a una velocidad que especifique mediante una expresión de frecuencia o de cron.

        Elija una programación basada en CRON para configurar una programación mediante una cron expresión. Para usar una expresión de tasa, elija una programación basada en tasas e introduzca un número positivo para el valor y, a continuación, elija una unidad de las opciones desplegables.

      Para obtener más información sobre el uso de expresiones de frecuencia y cron, consulte Tipos de programación en EventBridge Scheduler.

    2. En Intervalo de tiempo flexible, elija Apagado para desactivar la opción o elegir uno de los periodos de tiempo predefinidos de la lista desplegable. Por ejemplo, si elige 15 minutos y establece una programación recurrente para invocar su objetivo una vez cada hora, el horario se ejecuta 15 minutos después del inicio de cada hora.

  5. Si eligió Programación recurrente en el paso anterior, en la sección Periodo de tiempo, especifique una zona horaria y, si lo desea, establezca una fecha y hora de inicio y una fecha y hora de finalización para la programación. Una programación periódica sin fecha de inicio comenzará en cuanto se cree y esté disponible. Una programación periódica sin fecha de finalización seguirá invocando su destino indefinidamente.

  6. Elija Next (Siguiente).

  7. En la página Seleccionar destino, haga lo siguiente:

    1. Selecciona objetivos con plantilla y elige un objetivo. API Para este ejemplo, elegiremos el objetivo con SQS SendMessage plantilla de Amazon.

    2. En la SendMessagesección, para SQScola, elige una SQS cola de Amazon existente, por ARN ejemplo, arn:aws:sqs:us-west-2:123456789012:TestQueue de la lista desplegable. Para crear una nueva cola, selecciona Crear nueva SQS cola para ir a la consola de AmazonSQS. Cuando termines de crear una cola, vuelve a la consola del EventBridge Scheduler y actualiza el menú desplegable. ARNAparece la nueva cola y se puede seleccionar.

    3. En Target, introduce la carga que deseas que EventBridge Scheduler entregue al objetivo. En este ejemplo, enviaremos el siguiente mensaje a la cola de destino: Hello, it's EventBridge Scheduler.

  8. Seleccione Siguiente y, en la página Configuración (opcional), haga lo siguiente:

    1. En la sección Estado de la programación, en Habilitar programación, active o desactive la característica con el interruptor. De forma predeterminada, el EventBridge programador habilita tu programación.

    2. En la sección Acción tras la finalización de la programación, configura la acción que el EventBridge programador realizará una vez finalizada la programación:

      • Elija DELETEsi desea que la programación se elimine automáticamente. Para programaciones únicas, esto ocurre después de que la programación invoca al destino una vez. En el caso de las programaciones recurrentes, esto ocurre después de la última invocación planificada de la programación. Para obtener más información acerca de la eliminación automática, consulte Eliminación tras la finalización de la programación.

      • Elija NONEo no un valor si no desea que EventBridge Scheduler realice ninguna acción una vez finalizada la programación.

    3. En la sección Política de reintentos y cola de cartas sin salida (DLQ), en Política de reintentos, active Reintentar para configurar una política de reintentos para su programación. Con las políticas de reintentos, si un programa no puede invocar su objetivo, Scheduler vuelve a ejecutar el programa. EventBridge Si se encuentra configurado, debe establecer el tiempo máximo de retención y los reintentos máximos para la programación.

    4. En el campo Duración máxima del evento (opcional), introduce el número máximo de horas y minutos que EventBridge Scheduler debe mantener sin procesar un evento.

      nota

      El valor máximo es de 24 horas.

    5. En Máximo número de reintentos, introduce el número máximo de veces que EventBridge Scheduler reintenta la programación si el objetivo devuelve un error.

      nota

      El valor máximo es 185 reintentos.

    6. Para Dead-letter queue (DLQ), elige una de las siguientes opciones:

      • Ninguno: elija esta opción si no desea configurar un. DLQ

      • Selecciona una SQS cola de Amazon en mi AWS cuenta como DLQ: elige esta opción, selecciona una cola ARN de la lista desplegable y configura DLQ la Cuenta de AWS misma en la que estás creando el horario.

      • Especificar una SQS cola de Amazon en otra AWS cuenta como DLQ: elige esta opción y, a continuación, introduce ARN la cola configurada comoDLQ, si la cola está en otra. Cuenta de AWS Debe introducir la información exacta de la cola ARN para poder utilizar esta opción.

    7. En la sección de cifrado, selecciona Personalizar la configuración de cifrado (avanzada) para utilizar una KMS clave gestionada por el cliente para cifrar la entrada de destino. Si eliges esta opción, introduce una KMS clave existente ARN o selecciona Crear una AWS KMS clave para ir a la AWS KMS consola. Para obtener más información sobre cómo EventBridge Scheduler cifra los datos en reposo, consulte. Cifrado inactivo en EventBridge Scheduler

    8. Para Permisos, elija Usar el rol existente y, a continuación, seleccione el rol que creó durante el procedimiento de configuración en la lista desplegable. También puede elegir Ir a la IAM consola para crear un nuevo rol.

      Si quieres que EventBridge Scheduler cree un nuevo rol de ejecución para ti, selecciona Crear un nuevo rol para este programa en su lugar. A continuación, ingrese un nombre para el Nombre de rol. Si eliges esta opción, EventBridge Scheduler añadirá al rol los permisos necesarios para el objetivo creado con la plantilla.

  9. Elija Next (Siguiente).

  10. En la página de Revisar y crear una programación, revise los detalles de su programación. En cada sección, elija Editar para volver a ese paso y editar sus detalles.

  11. Seleccione Crear programación para terminar de crear la nueva programación. Puede ver una lista de sus programaciones nuevas y existentes en la página de Programaciones. En la columna Estado, verifique que su programación nueva se encuentre Habilitada.

  12. Para comprobar que tu programación invoca el SQS objetivo de Amazon, abre la SQS consola de Amazon y haz lo siguiente:

    1. Elija la cola de destino de la lista de Colas.

    2. Seleccione Enviar y recibir mensajes.

    3. En la página Enviar y recibir mensajes, en Recibir mensajes, seleccione Sondeo de mensajes para recuperar los mensajes de prueba que su agenda envió a la cola de destino.

Crea un horario con el AWS CLI

El siguiente ejemplo muestra cómo usar el AWS CLI comando create-schedulepara crear un horario de EventBridge Scheduler con un objetivo de Amazon SQS con plantilla. Reemplace los valores de los marcadores de posición de los siguientes parámetros por su información:

  • --name: introduzca un nombre para el programa.

  • RoleArn— Introduzca el rol ARN de ejecución que desee asociar al cronograma.

  • Arn: introduzca el ARN para el objetivo. En este caso, el objetivo es una SQS cola de Amazon.

  • Entrada: introduce un mensaje que EventBridge Scheduler envíe a la cola de destino.

$ 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"}'

Cree un horario con el programador EventBridge SDKs

En el siguiente ejemplo, utilizas el EventBridge Scheduler SDKs para crear un horario de EventBridge Scheduler con un objetivo de Amazon SQS con una plantilla.

ejemplo 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)
ejemplo 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"); } }

Siguientes pasos