Primeros pasos con el Programador de EventBridge - 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.

Primeros pasos con el Programador de EventBridge

En este tema se describe la creación de una nueva programación del Programador de EventBridge. Utilice la consola, AWS Command Line Interface (AWS CLI) o los SDK AWS del Programador de EventBridge para crear una programación con un destino 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 los usuarios de IAM con los permisos mínimos requeridos que se describen en Uso de políticas basadas en identidades. 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:

Crear una programación mediante la consola Programador de EventBridge

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

    nota

    Puede cambiar de Región de AWS mediante el selector de regiones de la 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 expresióncron. O utilice una expresión de frecuencia, elija una programación basada en frecuencia 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 programaciones en el Programador de EventBridge.

    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. nota

    La característica de intervalo de tiempo flexible no está disponible con las programaciones de una sola vez.

    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 Siguiente.

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

    1. Seleccione Destinos con plantilla y elija una API de destino. Para este ejemplo, elegiremos el destino con plantilla de Amazon SQS SendMessage.

    2. En la sección SendMessage, para la cola de SQS, elija un ARN de cola de Amazon SQS existente, por ejemplo arn:aws:sqs:us-west-2:123456789012:TestQueue, de la lista desplegable. Para crear una nueva cola, elija Crear nueva cola SQS para ir a la consola Amazon SQS. Cuando termine de crear una cola, vuelva a la consola del Programador de EventBridge y actualice el menú desplegable. Aparece el nuevo ARN de la cola y se puede seleccionar.

    3. En Destino, introduzca la carga útil que quiere que el Programador de EventBridge entregue al destino. 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 programador de EventBridge habilita su programación.

    2. En la sección Acción tras la finalización de la programación, configure la acción que realiza el Programador de EventBridge una vez finalizada la programación:

      • Seleccione ELIMINAR si 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.

      • Seleccione NINGUNO o no elija ningún valor si no desea que el Programador de EventBridge realice ninguna acción una vez finalizada la programación.

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

    4. En Antigüedad máxima del evento, opcional, introduzca las horas y minutos máximos que el Programador de EventBridge debe mantener un evento sin procesar.

      nota

      El valor máximo es de 24 horas.

    5. En Cantidad máxima de reintentos, ingrese el número máximo de veces que el Programador de EventBridge reintenta la programación si el destino devuelve un error.

      nota

      El valor máximo es 185 reintentos.

    6. En Cola de mensajes fallidos (DLQ), elija una de las siguientes opciones:

      • Ninguna: elija esta opción si no desea configurar una DLQ.

      • Seleccionar una cola de Amazon SQS en mi cuenta de AWS como DLQ: elija esta opción, seleccione un ARN de cola de la lista desplegable y configure una DLQ Cuenta de AWS igual al que está creando la programación.

      • Especificar una cola de Amazon SQS en otra cuenta AWS como DLQ: elija esta opción e introduzca el ARN de la cola configurada como DLQ, si la cola está en otra Cuenta de AWS. Debe introducir el ARN exacto de la cola para poder utilizar esta opción.

    7. En la sección Cifrado, elija Personalizar la configuración de cifrado (avanzada) para utilizar una clave KMS administrada por el cliente para cifrar su entrada de destino. Si elige esta opción, introduzca un ARN de clave de KMS existente o elija Crear una clave KMS de AWS para navegar hasta la consola de AWS KMS. Para obtener más información sobre cómo el Programador de EventBridge cifra los datos en reposo, consulte Cifrado en reposo.

    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 consola de IAM para crear un nuevo rol.

      Si desea que el Programador de EventBridge cree una nueva función de ejecución, elija Crear nuevo rol para esta programación. A continuación, ingrese un nombre para el Nombre de rol. Si elige esta opción, el Programador de EventBridge añade al rol los permisos necesarios para el destino creado con la plantilla.

  9. Elija 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 de Estado, verifique que su programación nueva se encuentre Habilitada.

  12. Para comprobar que su programación invoca el destino de Amazon SQS, abra la consola de Amazon SQS y haga lo siguiente:

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

    2. Seleccione Send and receive messages (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.

Cree una programación utilizando la AWS CLI

En el siguiente ejemplo, se muestra cómo utilizar el comando AWS CLI create-schedule para crear una programación del Programador de EventBridge con un destino de Amazon SQS con una 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 ARN del rol de ejecución que desee asociar al cronograma.

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

  • Entrada: introduzca un mensaje que el Programador de EventBridge 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 una programación con los SDK del Programador de EventBridge

En el siguiente ejemplo, utilice los SDK del Programador de EventBridge para crear una programación del Programador de EventBridge con un destino de Amazon SQS con plantilla.

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

Siguientes pasos

  • Para obtener más información sobre la gestión de la programación mediante la consola, AWS CLI o el SDK del Programador de EventBridge, consulte Administrar una programación.

  • Para obtener más información sobre cómo configurar los destinos con plantilla y obtener información sobre cómo utilizar el parámetro de destino universal, consulte Gestión de destinos.

  • Para obtener más información sobre los tipos de datos y las operaciones de la API del Programador de EventBridge, consulte la Referencia de la API del Programador de EventBridge.