Objetivos de autobuses para eventos en Amazon EventBridge - Amazon EventBridge

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.

Objetivos de autobuses para eventos en Amazon EventBridge

Un objetivo es un recurso o punto final que EventBridge envía un evento cuando el evento coincide con el patrón de eventos definido para una regla. La regla procesa los datos del evento y envía la información pertinente al destino. Para entregar datos de eventos a un destino, EventBridge necesita permiso para acceder al recurso de destino. Puede definir hasta cinco destinos para cada regla.

Cuando se agregan destinos a una regla y esa regla se ejecuta poco después, es posible que los destinos actualizados no se invoquen inmediatamente. Espere un breve periodo para que los cambios surtan efecto.

En el siguiente vídeo se describen los aspectos básicos de los destinos:

Los objetivos del bus de eventos están disponibles en la EventBridge consola

Puede configurar los siguientes tipos de objetivos para las reglas de la EventBridge consola:

Parámetros de destino

Algunos destinos no envían la información de la carga útil del evento al objetivo, sino que tratan el evento como un desencadenante para invocar una API específica. EventBridge usa los parámetros de Target para determinar qué ocurre con ese objetivo. Estos incluyen los siguientes:

  • Destinos de la API (Los datos enviados a un destino de la API deben coincidir con la estructura de la API. Debe usar el objeto InputTransformer para asegurarse de que los datos estén estructurados correctamente. Si desea incluir la carga del evento original, haga referencia a ella en el objeto InputTransformer.)

  • API Gateway (Los datos enviados a API Gateway deben coincidir con la estructura de la API. Debe usar el objeto InputTransformer para asegurarse de que los datos estén estructurados correctamente. Si desea incluir la carga del evento original, haga referencia a ella en el objeto InputTransformer.)

  • Amazon EC2 Image Builder

  • RedshiftDataParameters (Clústeres de API de datos de Amazon Redshift)

  • SageMakerPipelineParameters(Amazon SageMaker Runtime Model Building Pipelines)

nota

EventBridge no admite toda la sintaxis de rutas JSON y la evalúa en tiempo de ejecución. La sintaxis admitida incluye:

  • notación de puntos (por ejemplo, $.detail)

  • guiones

  • guiones bajos

  • Caracteres alfanuméricos

  • índices de matrices

  • caracteres comodín (*)

Parámetros de ruta dinámicos

Algunos parámetros de destino admiten sintaxis de ruta JSON dinámica opcional. Esta sintaxis le permite especificar rutas JSON en lugar de valores estáticos (por ejemplo$.detail.state). El valor completo debe ser una ruta JSON, no solo una parte de ella. Por ejemplo, RedshiftParameters.Sql puede ser $.detail.state, pero no puede ser "SELECT * FROM $.detail.state". Estas rutas se sustituyen dinámicamente en tiempo de ejecución por datos de la propia carga del evento en la ruta especificada. Los parámetros de ruta dinámicos no pueden hacer referencia a valores nuevos o transformados que resulten de la transformación de entrada. La sintaxis admitida para las rutas JSON con parámetros dinámicos es la misma que cuando se transforma la entrada. Para obtener más información, consulte Transformación EventBridge de entradas de Amazon

La sintaxis dinámica se puede utilizar en todos los campos non-enum de cadena de estos parámetros:

Permisos

Para realizar llamadas a la API en los recursos que posee, EventBridge necesita los permisos adecuados. Especifique una función de ejecución de IAM mediante la EventBridge consola o configurando el RoleARN PutTargetsparámetro.

Por ejemplo, la siguiente política define el permiso para enviar mensajes a una cola de Amazon SQS:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:SendMessage" ], "Resource": [ "arn:aws:sqs:us-east-1:0123456789012:sqs-queue-name" ] } ] }

Y la siguiente política de confianza permite EventBridge asumir el rol:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Puede invocar un punto de conexión de API Gateway con la autorización de la IAM configurada, pero la función es opcional si no ha configurado la autorización. Para obtener más información, consulte Amazon EventBridge y AWS Identity and Access Management.

Si otra cuenta se encuentra en la misma región y le dio permiso, puede enviar eventos a esa cuenta.

Para obtener más información, consulte Envío y recepción de eventos entre AWS cuentas de Amazon EventBridge.

Si su destino, como una cola de Amazon SQS, utiliza el cifrado AWS Key Management Service (AWS KMS), debe incluir la siguiente sección en su política de claves de KMS:

{ "Sid": "Allow EventBridge to use the key", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*" }

AWS Batch colas de trabajos como objetivos

Algunos parámetros se AWS Batch submitJob pueden configurar mediante BatchParameters.

Otros se pueden especificar la carga del evento. Si la carga útil del evento (pasada o vía InputTransformers) contiene las siguientes claves, se asignan a los parámetros de la submitJob solicitud:

  • ContainerOverrides: containerOverrides

    nota

    Esto incluye solo el comando, el entorno, la memoria y las vCPU

  • DependsOn: dependsOn

    nota

    Esto incluye solo jobld

  • Parameters: parameters

CloudWatch Registra los grupos como objetivos

Si no utilizas uno InputTransformercon un objetivo de CloudWatch Logs, la carga útil del evento se utiliza como mensaje de registro y el origen del evento como marca de tiempo. Si utilizas una InputTransformer, la plantilla debe ser:

{"timestamp":<timestamp>,"message":<message>}

EventBridge agrupa las entradas enviadas a un flujo de registro; por lo tanto, EventBridge puede entregar uno o varios eventos a un flujo de registro, según el tráfico.

CodeBuild proyectos como objetivos

EventBridge admite compilaciones estándar y por lotes como objetivos.

Si utiliza un transformador de entrada para dar forma al evento de origen para que coincida con la StartBuildRequestestructura antes de entregarlo a un CodeBuild destino, los parámetros se asignarán uno a uno y se transferirán a codeBuild.StartBuild ellos de forma predeterminada.

Para pasarle los parámetros codeBuild.StartBuildBatch en su lugar, transforme el evento de origen para que coincida con la StartBuildBatchRequestestructura y añada el siguiente key/value par a la raíz del evento transformado:

"buildType": "BATCH"

Tareas de Amazon ECS como destinos

Si suele dar forma InputTransformersal evento de entrada a un Target para que coincida con la RunTask TaskOverrideestructura de Amazon ECS, los parámetros se asignarán 1 a 1 y se transferirán a. ecs.RunTask

Planes de respuesta de Incident Manager como destinos

Si el evento coincidente proviene de CloudWatch Alarms, los detalles del cambio de estado de la alarma se incluyen en los detalles del activador de la StartIncidentRequest llamada a Incident Manager.

Amazon SQS hace colas como objetivos

EventBridge no admite el uso de colas de Amazon SQS cifradas con un. Clave propiedad de AWS Esto incluye los objetivos, así como las colas de Amazon SQS especificadas como colas de letra muerta para los objetivos. Para obtener más información Claves propiedad de AWS, consulte las claves AWS propias en la Guía para desarrolladores.AWS Key Management Service