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.
Destinations d'API en tant que cibles sur Amazon EventBridge
EventBridge Les destinations d'API sont des points de terminaison HTTPS que vous pouvez invoquer comme 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 destinations d'API, vous pouvez acheminer des événements entre AWS des services, des applications logicielles intégrées en tant que service (SaaS) et des applications publiques ou privées à l'aide d'appels d'API.
Lorsque vous spécifiez une destination d'API en tant que règle ou cible de canal, EventBridge invoque le point de terminaison HTTPS 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 méthode HTTP sauf CONNECT et TRACE pour la requête. Les méthodes HTTP les plus couramment utilisées sont PUT et POST.
Vous pouvez également utiliser des transformateurs d’entrée pour personnaliser l’événement en fonction des paramètres d’un point de terminaison HTTP spécifique. Pour de plus amples informations, veuillez consulter Transformation des EventBridge entrées Amazon.
EventBridge Les destinations d'API utilisent des connexions pour définir la méthode d'autorisation, les informations d'identification et la connectivité réseau EventBridge à utiliser lors de la connexion à un point de terminaison HTTPS donné. Les connexions sont à la fois publiques et privées APIs. Pour de plus amples informations, veuillez consulter Connexions.
Note
EventBridge Les destinations d'API ne prennent actuellement en charge que les noms de domaine public dotés de certificats approuvés publiquement pour les points de terminaison HTTPS lors de l'utilisation du mode privé APIs. Les destinations d'API ne prennent pas en charge le protocole TLS mutuel (MTL).
Important
EventBridge les demandes adressées à un point de terminaison de destination de l'API 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.
Pour les bus dédiés aux événements, les durées maximales sont par défaut de 24 heures et 185 fois.
Pour les tuyaux, les nouvelles tentatives sont déterminées en fonction du type de source du tuyau et de sa configuration. EventBridge réessaiera jusqu'à ce que l'événement expire depuis la source ou que l'âge maximum de l'événement ou de nouvelles tentatives configuré soit atteint.
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 destination d’API :
Rôle lié à un service pour les destinations d’API
Lorsque vous créez une connexion pour une destination d'API, 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 l’utilisation des rôles liés à un service, consultez Utilisation des rôles liés à un service dans le Guide de l’utilisateur 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 d’API
La section suivante explique comment EventBridge gérer les en-têtes HTTP dans les demandes adressées aux destinations d'API.
En-têtes inclus dans les demandes adressées aux destinations d’API
Outre les en-têtes d'autorisation définis pour la connexion utilisée pour une destination d'API, EventBridge inclut les en-têtes suivants dans chaque demande.
Clé d’en-tête | Valeur d'en-tête |
---|---|
Agent utilisateur |
Amazon/EventBridge/ApiDestinations |
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 d’API
EventBridge ne vous permet pas de remplacer les en-têtes suivants :
-
Agent utilisateur
-
Range
Les en-têtes sont EventBridge supprimés des demandes destinées aux destinations de l'API
EventBridge supprime les en-têtes suivants pour toutes les demandes de destination d'API :
-
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
Codes d’erreur de destination d’API
Lorsque EventBridge vous essayez de transmettre un événement à une destination d'API et qu'une erreur se produit EventBridge, procédez comme suit :
-
Réessaie les événements associés aux codes d'erreur
401
407
,,409
429
, et5xx
. -
Ne réessaie pas les événements associés aux codes d'erreur
1xx
2xx
,3xx
, et4xx
(autres que ceux indiqués ci-dessus).
EventBridge Les destinations d'API lisent l'en-tête de réponse HTTP standard Retry-After
pour savoir combien de temps il faut attendre avant de faire une demande de suivi. Pour les bus d'événements, EventBridge choisit la valeur la plus prudente entre la politique de réessai définie et l'Retry-After
en-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.