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.
Note
Pour que le webhook entrant soit accessible à nos partenaires, nous créons un Open Lambda dans votre AWS compte qui est sécurisé au niveau de l'application Lambda en vérifiant la signature d'authentification envoyée par le partenaire tiers. Vérifiez cette configuration avec votre équipe de sécurité. Pour plus d'informations, voir Modèle de sécurité et d'authentification pour la fonction URLs Lambda.
Votre bus d' EventBridge événements Amazon peut utiliser une URL de AWS Lambda fonction créée par un AWS CloudFormation modèle pour recevoir des événements provenant de fournisseurs SaaS pris en charge. Avec function URLs, les données d'événement sont envoyées à une fonction Lambda. La fonction convertit ensuite ces données en un événement qui peut être ingéré EventBridge et envoyé à un bus d'événements pour traitement. Une fois que l’événement est sur un bus d’événements, vous pouvez utiliser des règles pour filtrer les événements, appliquer les éventuelles transformations d’entrée configurées, puis les router vers la cible appropriée.
Note
La création de la fonction Lambda URLs augmentera vos coûts mensuels. Pour en savoir plus, consultez Pricing AWS Lambda
Pour configurer une connexion EventBridge, vous devez d'abord sélectionner le fournisseur SaaS avec lequel vous souhaitez établir une connexion. Ensuite, vous fournissez un secret de signature que vous avez créé avec ce fournisseur et vous sélectionnez le bus d' EventBridge événements auquel envoyer les événements. Enfin, vous utilisez un AWS CloudFormation modèle et créez les ressources nécessaires pour terminer la connexion.
Les fournisseurs SaaS suivants sont actuellement disponibles pour EventBridge utiliser la fonction Lambda : URLs
-
GitHub
-
Twilio
Étape 1 : Création de la AWS CloudFormation pile
Tout d'abord, utilisez la EventBridge console Amazon pour créer une CloudFormation pile :
Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/
. -
Dans le volet de navigation, choisissez Quick Starts.
-
Sous Webhooks entrants utilisant Lambda f URLs, choisissez Get started.
-
Sous GitHub, choisissez Configurer.
-
Sous Étape 1 : Sélectionner un bus d’événements, sélectionnez un bus d’événements dans la liste déroulante. Ce bus d'événements reçoit les données de l'URL de la fonction Lambda que vous fournissez à GitHub. Vous pouvez également créer un bus d'événements en sélectionnant Nouveau bus d'événements.
-
Dans Étape 2 : Configuration à l'aide de CloudFormation, choisissez Nouveau GitHub webhook.
-
Sélectionnez Je reconnais que le webhook entrant que je crée sera accessible au public et choisissez Confirmer.
-
Entrez un nom pour la pile.
-
Sous paramètres, vérifiez que le bus d'événements correct est répertorié, puis spécifiez un jeton sécurisé pour GitHubWebhookSecret. Pour plus d'informations sur la création d'un jeton sécurisé, voir Configuration de votre jeton secret
dans GitHub . -
Sous Fonctionnalités et transformations, sélectionnez chacune des options suivantes :
-
Je reconnais que cela AWS CloudFormation peut créer des ressources IAM.
-
Je reconnais que cela AWS CloudFormation peut créer des ressources IAM avec des noms personnalisés.
-
Je reconnais que AWS CloudFormation cela peut nécessiter les capacités suivantes :
CAPABILITY_AUTO_EXPAND
-
-
Sélectionnez Créer la pile.
Étape 2 : Création d'un GitHub webhook
Ensuite, créez le webhook sur GitHub. Vous aurez besoin du jeton sécurisé et de l'URL de la fonction Lambda que vous avez créés à l'étape 2 pour terminer cette étape. Pour plus d'informations, consultez la section Création de webhooks
Configurez une connexion à Twilio
Étape 1 : Trouvez votre Twilio jeton d'authentification
Pour configurer une connexion entre Twilio et EventBridge, configurez d'abord la connexion à Twilio avec le jeton d'authentification, ou secret, pour votre Twilio . Pour plus d'informations, consultez la section Jetons d'authentification et comment les modifier
Étape 2 : Création de la AWS CloudFormation pile
Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/
. -
Dans le volet de navigation, choisissez Quick Starts.
-
Sous Webhooks entrants utilisant Lambda f URLs, choisissez Get started.
-
Sous Twilio, choisissez Configurer.
-
Sous Étape 1 : Sélectionner un bus d’événements, sélectionnez un bus d’événements dans la liste déroulante. Ce bus d'événements reçoit les données de l'URL de la fonction Lambda que vous fournissez à Twilio. Vous pouvez également créer un bus d'événements en sélectionnant Nouveau bus d'événements.
-
Dans Étape 2 : Configuration à l'aide de CloudFormation, choisissez Nouveau Twilio webhook.
-
Sélectionnez Je reconnais que le webhook entrant que je crée sera accessible au public et choisissez Confirmer.
-
Entrez un nom pour la pile.
-
Sous paramètres, vérifiez que le bus d'événements correct est répertorié, puis entrez TwilioWebhookSecretque vous avez créé à l'étape 1.
-
Sous Fonctionnalités et transformations, sélectionnez chacune des options suivantes :
-
Je reconnais que cela AWS CloudFormation peut créer des ressources IAM.
-
Je reconnais que cela AWS CloudFormation peut créer des ressources IAM avec des noms personnalisés.
-
Je reconnais que cela AWS CloudFormation peut nécessiter la capacité suivante : CAPABILITY_AUTO_EXPAND
-
-
Sélectionnez Créer la pile.
Étape 3 : Création d'un Twilio webhook
Après avoir configuré l’URL de fonction Lambda, vous devez la communiquer à Twilio afin que les données d’événements puissent être envoyées. Pour plus d'informations, voir Configurer votre URL publique avec Twilio
Mise à jour du secret ou du jeton d’authentification d’un webhook
Mettre à jour GitHub secret
Note
GitHub ne supporte pas d'avoir deux secrets en même temps. Il se peut que vous subissiez une interruption des ressources pendant que GitHub le secret et le secret de la AWS CloudFormation pile ne sont pas synchronisés. GitHub les messages envoyés alors que les secrets ne sont pas synchronisés échoueront en raison de signatures incorrectes. Attendez que GitHub et CloudFormation les secrets sont synchronisés, puis réessayez.
-
Création d'un nouveau GitHub secret. Pour plus d'informations, consultez la section Secrets chiffrés
dans le GitHub . Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.
-
Choisissez Piles dans le volet de navigation.
-
Choisissez la pile du webhook qui inclut le secret que vous souhaitez mettre à jour.
-
Choisissez Mettre à jour.
-
Assurez-vous que l’option Utiliser modèle en cours est sélectionnée, puis choisissez Suivant.
-
Sous GitHubWebhookSecret, décochez Utiliser la valeur existante, entrez la nouvelle GitHub secret que vous avez créé à l'étape 1, puis choisissez Next.
-
Choisissez Suivant.
-
Choisissez Mettre à jour la pile.
La propagation du secret peut prendre jusqu’à une heure. Pour réduire ce temps d’arrêt, vous pouvez actualiser le contexte d’exécution Lambda.
Mettre à jour Twilio secret
Note
Twilio ne supporte pas d'avoir deux secrets en même temps. Il se peut que vous subissiez une interruption des ressources pendant que Twilio le secret et le secret de la AWS CloudFormation pile ne sont pas synchronisés. Twilio les messages envoyés alors que les secrets ne sont pas synchronisés échoueront en raison de signatures incorrectes. Attendez que Twilio et CloudFormation les secrets sont synchronisés, puis réessayez.
-
Création d'un nouveau Twilio secret. Pour plus d'informations, consultez la section Jetons d'authentification et comment les modifier
dans le Twilio . Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.
-
Choisissez Piles dans le volet de navigation.
-
Choisissez la pile du webhook qui inclut le secret que vous souhaitez mettre à jour.
-
Choisissez Mettre à jour.
-
Assurez-vous que l’option Utiliser modèle en cours est sélectionnée, puis choisissez Suivant.
-
Sous TwilioWebhookSecret, décochez Utiliser la valeur existante, entrez la nouvelle Twilio secret que vous avez créé à l'étape 1, puis choisissez Next.
-
Choisissez Suivant.
-
Choisissez Mettre à jour la pile.
La propagation du secret peut prendre jusqu’à une heure. Pour réduire ce temps d’arrêt, vous pouvez actualiser le contexte d’exécution Lambda.
Mise à jour d’une fonction Lambda
La fonction Lambda créée par la CloudFormation pile crée le webhook de base. Si vous souhaitez personnaliser la fonction Lambda pour un cas d'utilisation spécifique, tel que la journalisation personnalisée, utilisez la console pour accéder à la fonction, puis utilisez la CloudFormation console Lambda pour mettre à jour le code de la fonction Lambda.
Accès à la fonction Lambda
Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.
-
Choisissez Piles dans le volet de navigation.
-
Choisissez la pile pour le webhook qui inclut la fonction Lambda que vous souhaitez mettre à jour.
-
Cliquez sur l’onglet Ressources.
-
Pour ouvrir la fonction Lambda dans la console Lambda, sous ID physique, choisissez l’ID de la fonction Lambda.
Maintenant que vous avez accédé à la fonction Lambda, utilisez la console Lambda pour mettre à jour le code de la fonction.
Mise à jour du code de la fonction Lambda
-
Sous Actions, choisissez Exporter la fonction.
-
Choisissez Télécharger un package de déploiement, puis enregistrez le fichier sur votre ordinateur.
-
Décompressez le fichier .zip du package de déploiement, mettez à jour le fichier
app.py
, puis compressez le package de déploiement à jour, en vous assurant que tous les fichiers du fichier .zip d’origine sont inclus. -
Dans la console Lambda, cliquez sur l’onglet Code.
-
Sous Code source (Source du code), sélectionnez Upload from (Charger depuis).
-
Choisissez .zip file (fichier .zip), puis Upload (Charger).
Dans le sélecteur de fichiers, sélectionnez le fichier que vous avez mis à jour, choisissez Ouvrir, puis Enregistrer.
-
Sous Actions, choisissez Publier une nouvelle version.
Types d’événements disponibles
Les types d'événements suivants sont actuellement pris en charge par les bus CloudFormation d'événements :
-
GitHub— Tous les types d'événements
sont pris en charge. -
Twilio : les webhooks post-événement
sont pris en charge.
Quotas, codes d’erreur et nouvelle tentative de livraison
Quotas
Le nombre de demandes entrantes adressées au webhook est plafonné par les services sous-jacents AWS . Le tableau suivant inclut les quotas correspondants.
Service | Quota |
---|---|
AWS Lambda |
Par défaut : 10 exécutions simultanées Pour plus d’informations sur les quotas, notamment sur la demande d’augmentation des quotas, consultez Quotas Lambda. |
AWS Secrets Manager |
Par défaut : 5 000 demandes par seconde Pour plus d’informations sur les quotas, notamment sur la demande d’augmentation des quotas, consultez Quotas AWS Secrets Manager. NoteLe nombre de demandes par seconde est réduit au maximum à l’aide du client de mise en cache AWS Secrets Manager Python |
Amazon EventBridge |
Taille d'entrée maximale de 256 Ko pour les PutEvents actions. EventBridge applique les quotas tarifaires basés sur les régions. Pour de plus amples informations, veuillez consulter EventBridge quotas de bus événementiels. |
Codes d’erreur
Chaque AWS service renvoie des codes d'erreur spécifiques en cas d'erreur. Le tableau suivant inclut les codes d’erreur correspondants.
Service | Code d’erreur | Description |
---|---|---|
AWS Lambda |
429 « TooManyRequestsExption » |
Le quota d’exécutions simultanées est dépassé. |
AWS Secrets Manager |
500 « Erreur de serveur interne » |
Le quota de demandes par seconde est dépassé. |
Amazon EventBridge |
500 « Erreur de serveur interne » |
Le quota de taux est dépassé pour la région. |
Nouvelle livraison d’événements
En cas d’erreur, vous pouvez réessayer de livrer les événements concernés. Chaque fournisseur SaaS dispose de procédures de nouvelle tentative différentes.
GitHub
Utilisez la commande GitHub API webhooks pour vérifier l'état de livraison de tout appel webhook et retransmettre l'événement, si nécessaire. Pour plus d'informations, consultez ce qui suit GitHub documentation :
-
Organisation : Nouvelle livraison pour un webhook d’organisation
(langue française non garantie) -
Référentiel : Nouvelle livraison pour un webhook de référentiel
(langue française non garantie) -
Application : Nouvelle livraison pour un webhook d’application
(langue française non garantie)
Twilio
Twilio les utilisateurs peuvent personnaliser les options de nouvelle tentative d'événement à l'aide de remplacements de connexion. Pour plus d'informations, consultez Webhooks (rappels HTTP) : remplacements de connexion