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.
Los objetivos del autobús de eventos en Amazon EventBridge
Un objetivo es un recurso o punto final EventBridge al que se 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 objetivo, 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.
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:
Destinos de la API
Los destinos de la API son puntos de conexión HTTPS que puede invocar como destino de una regla de bus de eventos. Cuando especificas un destino de API como objetivo de regla, EventBridge invoca el punto final HTTPS para cualquier evento que coincida con el patrón de eventos especificado en la regla y, a continuación, entrega la información del evento con la solicitud. Para obtener más información, consulte Destinos de la API.
Buses de eventos
Puede especificar otros buses de eventos como destinos de las reglas. Esto incluye los buses de eventos en la misma cuenta o en AWS cuentas diferentes.
AWS servicios
Puede EventBridge enviar eventos a varios recursos de AWS servicio. Entre ellos se incluyen:
-
CodePipeline
-
Llamada a la API
CreateSnapshotde Amazon EBS -
Generador de Imágenes de EC2
-
Llamada a la API
RebootInstancesde EC2 -
Llamada a la API
StopInstancesde EC2 -
Llamada a la API
TerminateInstancesde EC2 -
Flujo de entrega de Firehose
-
Flujo de trabajo de Glue
-
Plantilla de evaluación del inspector
-
Flujo de Kinesis
-
Función de Lambda (ASYNC)
-
Consultas de API de datos de grupos de trabajo de Amazon Redshift sin servidor
-
SageMaker AI Pipeline
-
Tema de Amazon SNS
-
Máquina de estado de Step Functions (ASYNC)
-
Automatización de Systems Manager
-
Administrador de sistemas OpsItem
-
Systems Manager Run Command
Parámetros de destino
Algunos objetivos 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. Use el objeto
InputTransformerpara asegurarse de que los datos estén estructurados correctamente. Si desea incluir la carga útil del evento original, haga referencia a ella enInputTransformer. -
API Gateway
Los datos enviados a una puerta de enlace de la API deben coincidir con la estructura de la API. Use el objeto
InputTransformerpara asegurarse de que los datos estén estructurados correctamente. Si desea incluir la carga útil del evento original, haga referencia a ella enInputTransformer. -
Amazon EC2 Image Builder
-
Clústeres de la API de datos de Amazon Redshift
Utilice
RedshiftDataParameters. -
Amazon SageMaker Runtime Model Building Pipelines
Utilice
SageMakerPipelineParameters. -
Colas para ferias y FIFO de Amazon SQS
Utilice
SqsParameterspara especificar el grupo de mensajes que se usará como destino. -
Systems Manager Run Command
Se utilizan
RunCommandParameterspara especificar el documento SSM y las instancias de destino. Para obtener más información, consulte Systems Manager Run Command as a target.
nota
EventBridge no admite toda la sintaxis de rutas de 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 (*)
barras diagonales
Parámetros de ruta dinámicos
Los parámetros de rutas dinámicas permiten usar la sintaxis de rutas JSON para hacer referencia a datos de eventos en tiempo de ejecución en lugar de valores estáticos.
Puedes usar la sintaxis de rutas JSON dinámica con parámetros de destino para especificar rutas JSON en lugar de valores estáticos (por ejemplo,$.detail.state).
Requisitos
El valor completo debe ser una ruta JSON, no solo una parte de ella. Por ejemplo:
-
✓ Correcto:
RedshiftParameters.Sqlpuede ser$.detail.state -
✗ Incorrecto:
RedshiftParameters.Sqlno puede ser"SELECT * FROM $.detail.state"
EventBridge reemplaza estas rutas en tiempo de ejecución por datos de la carga útil del evento en la ruta especificada.
Limitaciones
Los parámetros de ruta dinámica no pueden hacer referencia a valores nuevos o transformados de la transformación de entrada. La sintaxis de la ruta JSON es la misma que la sintaxis de transformación de entradas. Para obtener más información, consulte Transformación EventBridge de entradas de Amazon.
Parámetros admitidos
Puede utilizar la sintaxis dinámica en todos los campos de cadena que no sean de enumeración de los siguientes parámetros:
-
HttpParameters(excepto clavesHeaderParameters)
Permisos
Para realizar llamadas a la API en los recursos que posee, EventBridge necesita los permisos adecuados. Especifica un rol de ejecución de IAM mediante la EventBridge consola o configurando el RoleARN parámetro en PutTargets.
Por ejemplo, la siguiente política define el permiso para enviar mensajes a una cola de Amazon SQS:
Además, la siguiente política de confianza EventBridge permite asumir el rol:
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 Enviar y recibir eventos entre AWS cuentas en 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 destinos
Ciertos parámetros también se AWS Batch submitJob pueden configurar mediante BatchParameters.
Otros se pueden especificar la carga del evento. Si la carga útil del evento (mediante transferencia o transferencia InputTransformers) contiene las siguientes claves, se asignan a los parámetros de la submitJob solicitud:
ContainerOverrides: containerOverridesnota
Esto incluye solo el comando, el entorno, la memoria y las vCPU
DependsOn: dependsOnnota
Esto incluye solo jobld
Parameters: parameters
CloudWatch Registra los grupos como objetivos
Si no usas un objetivo InputTransformer con CloudWatch registros, la carga útil del evento se usa como mensaje de registro y el origen del evento como marca de tiempo. Si utilizas un InputTransformer, la plantilla debe ser:
{"timestamp":<timestamp>,"message":<message>}
EventBridge agrupa en lotes las entradas enviadas a una secuencia de registros; por lo tanto, EventBridge puede enviar uno o varios eventos a una secuencia de registros, según el tráfico.
CodeBuild los proyectos como objetivos
EventBridge admite compilaciones estándar y por lotes como objetivos.
Si utilizas un transformador de entrada para configurar el evento de origen para que coincida con la StartBuildRequest estructura antes de entregarlo a un CodeBuild destino, los parámetros se asignarán 1 a 1 y se transferirán a codeBuild.StartBuild por defecto.
Para pasarle los parámetros, codeBuild.StartBuildBatch transforme el evento de origen para que coincida con la StartBuildBatchRequest estructura y añada el siguiente key/value par a la raíz del evento transformado:
"buildType": "BATCH"
Tareas de Amazon ECS como destinos
Si usas la forma de un objetivo InputTransformers para que el evento de entrada coincida con la RunTask TaskOverride estructura 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 provino de CloudWatch Alarmas, los detalles del cambio de estado de la alarma se incluyen en los detalles de activación de la StartIncidentRequest llamada al Incident Manager.
El administrador de sistemas ejecuta el comando como objetivo
Si especifica Systems Manager Run Command como destino, EventBridge llama a la SendCommand API en su nombre. Configure el destino mediante RunCommandParameters, que especifica el documento SSM que se va a ejecutar y las instancias o etiquetas de destino.
RunCommandParameterscontiene los siguientes campos:
-
RunCommandTargets— (Obligatorio) Una lista de pares clave-valor que especifican las instancias de destino. UsaKeyset toInstanceIdscon una lista de ID de instancia oKeyestablecetag:con valores de etiqueta para segmentar las instancias por etiqueta. Puedes especificar entre 1 y 5 objetivos de comando de ejecución.tag-name
Para especificar qué documento SSM se va a ejecutar y pasarle los parámetros, utilice el Input campo del Target objeto. El Input valor debe ser un objeto JSON con la siguiente estructura:
{
"DocumentName": "document-name",
"DocumentVersion": "version",
"Parameters": {
"parameter-key": ["parameter-value"]
}
}
Donde:
-
DocumentName— El nombre o ARN del documento SSM que se va a ejecutar. -
DocumentVersion— (Opcional) La versión del documento. Si se omite, se utiliza la versión predeterminada. -
Parameters— (Opcional) Un mapa de nombres de parámetros a matrices de valores que coincida con los parámetros definidos en el documento SSM.
Por ejemplo, el siguiente AWS CLI comando crea una regla que ejecuta el AWS-RunShellScript documento en una instancia específica cuando un EventBridge evento coincide:
aws events put-targets --rule "my-rule" --targets '[{ "Id": "ssm-target-1", "Arn": "arn:aws:ssm:region:account-id:document/AWS-RunShellScript", "RoleArn": "arn:aws:iam::account-id:role/EventBridgeSSMRole", "Input": "{\\"Parameters\\":{\\"commands\\":[\\"echo Hello from EventBridge\\"]}}", "RunCommandParameters": { "RunCommandTargets": [{ "Key": "InstanceIds", "Values": ["i-0123456789abcdef0"] }] } }]'
nota
El Input campo del Target objeto se usa para pasar el nombre y los parámetros del documento al comando de ejecución de Systems Manager. Esto es diferente de InputTransformer, que transforma la carga útil del evento. Cuando utilice el comando de ejecución de Systems Manager como destino, defina los parámetros del documento Input y especifique las instancias de destino enRunCommandParameters.
Colas de Amazon SQS como destinos
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 mensajes fallidos para los destinos. Para obtener más información al respecto Claves propiedad de AWS, consulte las claves AWS propias en la Guía para AWS Key Management Service desarrolladores.