Los destinos de la API como objetivos 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.

Los destinos de la API como objetivos en Amazon EventBridge

EventBridge Los destinos de las API son puntos de enlace HTTPS que se pueden invocar como destino de una regla de bus de eventos, o canal, de forma similar a como se invoca un AWS servicio o recurso como destino. Con los destinos de API, puede enrutar eventos entre AWS servicios, aplicaciones de software como servicio (SaaS) integradas y aplicaciones públicas o privadas mediante llamadas a la API.

Cuando especificas un destino de API como objetivo de regla o canalización, EventBridge invoca el punto final HTTPS para cualquier evento que coincida con el patrón de eventos especificado en la regla o canalización y, a continuación, entrega la información del evento junto con la solicitud. Con EventBridge, puedes usar cualquier método HTTP excepto CONNECT y TRACE para la solicitud. Los métodos HTTP más habituales son PUT y POST.

También puede usar transformadores de entrada para personalizar el evento según los parámetros de un punto de conexión HTTP específico. Para obtener más información, consulte Transformación EventBridge de entradas de Amazon.

Los destinos de la API utilizan una conexión con parámetros de autorización para enviar eventos a los puntos de conexión HTTP.

EventBridge Los destinos de la API utilizan las conexiones para definir el método de autorización y las credenciales y la conectividad de red EventBridge que se utilizarán al conectarse a un punto final HTTPS determinado. Las conexiones admiten tanto las conexiones públicas como las privadas APIs. Para obtener más información, consulte Connections.

nota

EventBridge Actualmente, los destinos de las API solo admiten nombres de dominio público con certificados de confianza pública para los puntos de conexión HTTPS cuando se utilizan los privados APIs. Los destinos de las API no admiten el TLS mutuo (mTLS).

importante

EventBridge las solicitudes a un punto final de destino de la API deben tener un tiempo de espera máximo de ejecución por parte del cliente de 5 segundos. Si el punto final de destino tarda más de 5 segundos en responder, se agota el EventBridge tiempo de espera de la solicitud. EventBridge Reintenta las solicitudes agotadas hasta los máximos configurados en tu política de reintentos.

  • En el caso de los autobuses de eventos, de forma predeterminada, el máximo es de 24 horas y 185 veces.

  • En el caso de las tuberías, los reintentos se determinan por el tipo de fuente de la tubería y su configuración. EventBridge volverá a intentarlo hasta que el evento caduque desde la fuente o hasta que se alcance la antigüedad máxima configurada para el evento o los reintentos.

Una vez transcurrido el número máximo de reintentos, los eventos se envían a cola de mensajes fallidos, si dispone de ella. De lo contrario, el evento se descarta.

En el siguiente vídeo se muestra el uso del destino de la API:

Rol vinculado a un servicio para los destinos de la API

Cuando creas una conexión para un destino de API, se añade a tu cuenta un rol vinculado al servicio denominado AWS ServiceRoleForAmazonEventBridgeApiDestinations. EventBridge usa el rol vinculado al servicio para crear y almacenar un secreto en Secrets Manager. Para conceder los permisos necesarios al rol vinculado al servicio, EventBridge adjunta la AmazonEventBridgeApiDestinationsServiceRolePolicypolítica al rol. La política limita los permisos concedidos únicamente a los necesarios para que el rol interactúe con el secreto de la conexión. No se incluye ningún otro permiso y el rol solo puede interactuar con las conexiones de la cuenta para administrar el secreto.

La siguiente política es la AmazonEventBridgeApiDestinationsServiceRolePolicy.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:events!connection/*" } ] }

Para obtener más información acerca los roles vinculados a servicios, consulte Uso de roles vinculados a servicios en la Guía del usuario de IAM.

Disponibilidad por región

El rol AmazonEventBridgeApiDestinationsServiceRolePolicy vinculado al servicio se admite en las siguientes regiones: AWS

  • Este de EE. UU. (Norte de Virginia)

  • Este de EE. UU. (Ohio)

  • Oeste de EE. UU. (Norte de California)

  • Oeste de EE. UU. (Oregón)

  • África (Ciudad del Cabo)

  • Asia-Pacífico (Hong Kong)

  • Asia-Pacífico (Bombay)

  • Asia-Pacífico (Osaka)

  • Asia-Pacífico (Seúl)

  • Asia-Pacífico (Singapur)

  • Asia-Pacífico (Sídney)

  • Asia-Pacífico (Tokio)

  • Canadá (centro)

  • Europa (Fráncfort)

  • Europa (Irlanda)

  • Europa (Londres)

  • Europa (Milán)

  • Europa (París)

  • Europa (Estocolmo)

  • América del Sur (São Paulo)

  • China (Ningxia)

  • China (Pekín)

Encabezados en solicitudes a destinos de la API

En la siguiente sección, se detalla cómo se EventBridge gestionan los encabezados HTTP en las solicitudes a los destinos de la API.

Encabezados se incluyen en solicitudes a destinos de la API

Además de los encabezados de autorización definidos para la conexión utilizada para un destino de API, EventBridge incluye los siguientes encabezados en cada solicitud.

Clave de encabezado Valor del encabezado

User-Agent

Amazon/EventBridge/ApiDestinations

Contenido-Tipo

Si no se especifica ningún valor de tipo de contenido personalizado, EventBridge incluye el siguiente valor predeterminado como tipo de contenido:

aplicación/json; charset=utf-8

Range

bytes=0-1048575

Accept-Encoding

gzip, deflate

Connection

close

Content-Length

Un encabezado de entidad que indica el tamaño del cuerpo de la entidad, en bytes, enviado al destinatario.

Host

Un encabezado de solicitud que especifica el número de host y puerto del servidor al que se envía la solicitud.

Encabezados que no se pueden anular en las solicitudes a los destinos de la API

EventBridge no permite anular los siguientes encabezados:

  • User-Agent

  • Range

Se EventBridge eliminan los encabezados de las solicitudes a los destinos de la API

EventBridge elimina los siguientes encabezados de todas las solicitudes de destino de la API:

  • A-IM

  • Accept-Charset

  • Accept-Datetime

  • Accept-Encoding

  • Cache-Control

  • Connection

  • Content-Encoding

  • Content-Length

  • Contenido: MD5

  • Date

  • Expect

  • Forwarded

  • De

  • Host

  • HTTP2-Ajustes

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Origen

  • Pragma

  • Proxy-Authorization

  • Range

  • Referer

  • TE

  • Trailer

  • Transfer-Encoding

  • User-Agent

  • Upgrade

  • Via

  • Advertencia

Códigos de error de destinos de la API

Cuando EventBridge intenta enviar un evento a un destino de API y se produce un error, EventBridge hace lo siguiente:

  • Reintenta los eventos asociados a los códigos de error 401407, 409429, y5xx.

  • No reintenta los eventos asociados a los códigos de error1xx, 2xx3xx, y 4xx (distintos de los indicados anteriormente).

EventBridge Los destinos de la API leen el encabezado de respuesta HTTP estándar Retry-After para saber cuánto tiempo deben esperar antes de realizar una solicitud de seguimiento. En el caso de los buses de eventos, EventBridge elige el valor más conservador entre la política de reintentos definida y el Retry-After encabezado. Si Retry-After el valor es negativo, EventBridge deja de reintentar la entrega de ese evento.

Cómo afecta la tasa de invocación a la entrega del evento

Si establece la tasa de invocación por segundo en un valor muy inferior al número de invocaciones generadas, es posible que los eventos no se entreguen dentro del tiempo de reintento de 24 horas especificado para los eventos. Por ejemplo, si establece la tasa de invocación en 10 invocaciones por segundo, pero se generan miles de eventos por segundo, rápidamente tendrá una acumulación de eventos pendientes de entrega que supera las 24 horas. Para que no se pierdan eventos, configure una cola de mensajes fallidos a la que enviar los eventos con invocaciones fallidas para poder procesarlos más adelante. Para obtener más información, consulte Uso de colas con letra muerta para procesar los eventos no entregados en EventBridge.