APIdestinations comme cibles sur Amazon EventBridge - Amazon EventBridge

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

APIdestinations comme cibles sur Amazon EventBridge

Les EventBridge APIdestinations Amazon sont des HTTP points de terminaison que vous pouvez invoquer en tant que cible d'une règle ou d'un canal de bus d'événements, de la même manière que vous appelez un AWS service ou une ressource en tant que cible. À l'aide des API destinations, vous pouvez acheminer les événements entre les AWS services, les applications intégrées de type logiciel en tant que service (SaaS) et vos applications en dehors de l'extérieur en AWS utilisant des API appels. Lorsque vous spécifiez une API destination en tant que règle ou cible de canal, EventBridge invoque le HTTP point de terminaison pour tout événement correspondant au modèle d'événement spécifié dans la règle ou le canal, puis fournit les informations relatives à l'événement avec la demande. Avec EventBridge, vous pouvez utiliser n'importe quelle HTTP méthode à CONNECT l'TRACEexception de la requête. Les HTTP méthodes les plus courantes à utiliser sont PUT etPOST. Vous pouvez également utiliser des transformateurs d'entrée pour personnaliser l'événement en fonction des paramètres d'un point de HTTP terminaison spécifique. Pour de plus amples informations, veuillez consulter Transformation des EventBridge entrées Amazon.

APIles destinations utilisent une connexion avec des paramètres d'autorisation pour envoyer des événements aux HTTP points de terminaison.
Note

APIles destinations ne prennent pas en charge les destinations privées, telles que les VPC points de terminaison d'interface, y compris les destinations privées HTTPS APIs dans des clouds privés virtuels (VPC) utilisant un réseau privé, un Application Load Balancer et des points de terminaison d'interface. VPC

Pour de plus amples informations, veuillez consulter Utilisation d'Amazon EventBridge avec les points de VPC terminaison de l'interface.

Important

EventBridge les demandes adressées à un point de terminaison de API destination doivent avoir un délai d'exécution maximal du client de 5 secondes. Si le point de terminaison cible met plus de 5 secondes à répondre, EventBridge la demande expire. EventBridge les demandes ont dépassé le délai maximum défini dans votre politique de nouvelles tentatives. Par défaut, ces valeurs maximales sont de 24 heures et 185 fois. Une fois le nombre maximal de nouvelles tentatives atteint, les événements sont envoyés à votre file d’attente de lettres mortes si vous en avez une. Sinon, l’événement est supprimé.

La vidéo suivante montre l'utilisation de la API destination :

Rôle lié au service pour les destinations API

Lorsque vous créez une connexion pour une API destination, un rôle lié à un service nommé AWS ServiceRoleForAmazonEventBridgeApiDestinationsest ajouté à votre compte. EventBridge utilise le rôle lié au service pour créer et stocker un secret dans Secrets Manager. Pour accorder les autorisations nécessaires au rôle lié au service, associez EventBridge la AmazonEventBridgeApiDestinationsServiceRolePolicypolitique au rôle. La politique limite les autorisations accordées aux autorisations nécessaires pour que le rôle interagisse avec le secret de la connexion. Aucune autre autorisation n’est incluse et le rôle ne peut interagir qu’avec les connexions de votre compte pour gérer le secret.

La politique suivante est 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/*" } ] }

Pour plus d'informations sur les rôles liés à un service, consultez la section Utilisation des rôles liés à un service dans la documentation. IAM

Disponibilité dans les Régions

Le rôle AmazonEventBridgeApiDestinationsServiceRolePolicy lié à un service est pris en charge dans les régions suivantes : AWS

  • USA Est (Virginie du Nord)

  • USA Est (Ohio)

  • USA Ouest (Californie du Nord)

  • USA Ouest (Oregon)

  • Afrique (Le Cap)

  • Asie-Pacifique (Hong Kong)

  • Asia Pacific (Mumbai)

  • Asie-Pacifique (Osaka)

  • Asia Pacific (Seoul)

  • Asie-Pacifique (Singapour)

  • Asie-Pacifique (Sydney)

  • Asie-Pacifique (Tokyo)

  • Canada (Centre)

  • Europe (Francfort)

  • Europe (Irlande)

  • Europe (Londres)

  • Europe (Milan)

  • Europe (Paris)

  • Europe (Stockholm)

  • Amérique du Sud (São Paulo)

  • Chine (Ningxia)

  • Chine (Beijing)

En-têtes dans les demandes adressées aux destinations API

La section suivante explique comment EventBridge gérer les HTTP en-têtes dans les demandes adressées aux API destinations.

En-têtes inclus dans les demandes adressées aux destinations API

Outre les en-têtes d'autorisation définis pour la connexion utilisée pour une API destination, EventBridge inclut les en-têtes suivants dans chaque demande.

Clé d’en-tête Valeur d'en-tête

Agent utilisateur

Amazon//EventBridgeApiDestinations

Content-Type

Si aucune valeur de type de contenu personnalisée n'est spécifiée, EventBridge inclut la valeur par défaut suivante en tant que type de contenu :

application/json; charset=utf-8

Range

bytes=0-1048575

Accept-Encoding

gzip,deflate

Connexion

close

Content-Length

En-tête d’entité qui indique la taille de entity-body, en octets, envoyé au destinataire.

Host (Hôte)

En-tête de demande qui indique l’hôte et le numéro de port du serveur sur lequel la demande est envoyée.

En-têtes qui ne peuvent pas être remplacés dans les demandes adressées aux destinations API

EventBridge ne vous permet pas de remplacer les en-têtes suivants :

  • Agent utilisateur

  • Range

En-têtes EventBridge supprimés des demandes adressées aux destinations API

EventBridge supprime les en-têtes suivants pour toutes les demandes de API destination :

  • A-IM

  • Accept-Charset

  • Accept-Datetime

  • Accept-Encoding

  • Cache-Control

  • Connexion

  • Encodage-Contenu

  • Content-Length

  • Contenu- MD5

  • Date

  • Expect

  • Forwarded

  • De

  • Host (Hôte)

  • HTTP2-Réglages

  • If-Match

  • If-Modified-Since

  • If-None-Match

  • If-Range

  • If-Unmodified-Since

  • Max-Forwards

  • Origin

  • Pragma

  • Proxy-Authorization

  • Range

  • Référent

  • TE

  • Trailer

  • Transfer-Encoding

  • Agent utilisateur

  • Upgrade

  • Via

  • Avertissement

APIcodes d'erreur de destination

Lorsque EventBridge vous essayez de transmettre un événement à une API destination et qu'une erreur se produit, EventBridge procédez comme suit :

  • Il tente à nouveau de livrer les événements associés aux codes d’erreur 409, 429 et 5xx.

  • Il ne tente pas à nouveau de livrer les événements associés aux codes d’erreur 1xx, 2xx, 3xx et 4xx (sauf 429).

EventBridge APIles destinations lisent l'en-tête de HTTP réponse standard Retry-After pour savoir combien de temps il faut attendre avant de faire une demande de suivi. EventBridge choisit la valeur la plus prudente entre la politique de réessai définie et l'Retry-Afteren-tête. Si Retry-After la valeur est négative, EventBridge arrête toute nouvelle tentative de livraison pour cet événement.

Comment le taux d’invocation affecte la livraison d’événements

Si vous définissez le taux d’invocation par seconde sur une valeur bien inférieure au nombre d’invocations générées, les événements peuvent ne pas être livrés dans le délai de 24 heures imparti pour les nouvelles tentatives. Par exemple, si vous définissez le taux d’invocation sur 10 invocations par seconde, mais que des milliers d’événements sont générés par seconde, votre retard au niveau des événements à livrer dépassera rapidement 24 heures. Pour vous assurer qu’aucun événement n’est perdu, configurez une file d’attente de lettres mortes à laquelle envoyer les événements dont les invocations ont échoué afin de pouvoir les traiter ultérieurement. Pour de plus amples informations, veuillez consulter Utilisation de files d'attente de lettres mortes pour traiter les événements non livrés dans EventBridge.