Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Réception d'événements SaaS depuis AWS Lambda une fonction URLs sur Amazon EventBridge

Mode de mise au point
Réception d'événements SaaS depuis AWS Lambda une fonction URLs 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.

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 (Tarification).

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 :

  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation, choisissez Quick Starts.

  3. Sous Webhooks entrants utilisant Lambda f URLs, choisissez Get started.

  4. Sous GitHub, choisissez Configurer.

  5. 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.

  6. Dans Étape 2 : Configuration à l'aide de CloudFormation, choisissez Nouveau GitHub webhook.

  7. Sélectionnez Je reconnais que le webhook entrant que je crée sera accessible au public et choisissez Confirmer.

  8. Entrez un nom pour la pile.

  9. 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 .

  10. 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

  11. 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 dans GitHub .

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 dans le Twilio .

Étape 2 : Création de la AWS CloudFormation pile

  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation, choisissez Quick Starts.

  3. Sous Webhooks entrants utilisant Lambda f URLs, choisissez Get started.

  4. Sous Twilio, choisissez Configurer.

  5. 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.

  6. Dans Étape 2 : Configuration à l'aide de CloudFormation, choisissez Nouveau Twilio webhook.

  7. Sélectionnez Je reconnais que le webhook entrant que je crée sera accessible au public et choisissez Confirmer.

  8. Entrez un nom pour la pile.

  9. Sous paramètres, vérifiez que le bus d'événements correct est répertorié, puis entrez TwilioWebhookSecretque vous avez créé à l'étape 1.

  10. 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

  11. 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 Twiliodans le 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.

  1. Création d'un nouveau GitHub secret. Pour plus d'informations, consultez la section Secrets chiffrés dans le GitHub .

  2. Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.

  3. Choisissez Piles dans le volet de navigation.

  4. Choisissez la pile du webhook qui inclut le secret que vous souhaitez mettre à jour.

  5. Choisissez Mettre à jour.

  6. Assurez-vous que l’option Utiliser modèle en cours est sélectionnée, puis choisissez Suivant.

  7. Sous GitHubWebhookSecret, décochez Utiliser la valeur existante, entrez la nouvelle GitHub secret que vous avez créé à l'étape 1, puis choisissez Next.

  8. Choisissez Suivant.

  9. 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.

  1. Création d'un nouveau Twilio secret. Pour plus d'informations, consultez la section Jetons d'authentification et comment les modifier dans le Twilio .

  2. Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.

  3. Choisissez Piles dans le volet de navigation.

  4. Choisissez la pile du webhook qui inclut le secret que vous souhaitez mettre à jour.

  5. Choisissez Mettre à jour.

  6. Assurez-vous que l’option Utiliser modèle en cours est sélectionnée, puis choisissez Suivant.

  7. Sous TwilioWebhookSecret, décochez Utiliser la valeur existante, entrez la nouvelle Twilio secret que vous avez créé à l'étape 1, puis choisissez Next.

  8. Choisissez Suivant.

  9. 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
  1. Ouvrez la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation.

  2. Choisissez Piles dans le volet de navigation.

  3. Choisissez la pile pour le webhook qui inclut la fonction Lambda que vous souhaitez mettre à jour.

  4. Cliquez sur l’onglet Ressources.

  5. 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
  1. Sous Actions, choisissez Exporter la fonction.

  2. Choisissez Télécharger un package de déploiement, puis enregistrez le fichier sur votre ordinateur.

  3. 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.

  4. Dans la console Lambda, cliquez sur l’onglet Code.

  5. Sous Code source (Source du code), sélectionnez Upload from (Charger depuis).

  6. Choisissez .zip file (fichier .zip), puis Upload (Charger).

    1. Dans le sélecteur de fichiers, sélectionnez le fichier que vous avez mis à jour, choisissez Ouvrir, puis Enregistrer.

  7. 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 :

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.

Note

Le 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 :

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 dans le Twilio .

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.