Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Empfangen von SaaS-Ereignissen von URLs einer AWS Lambda Funktion in Amazon EventBridge
Anmerkung
Damit unsere Partner auf den Inbound Webhook zugreifen können, erstellen wir in Ihrem AWS Konto ein Open Lambda, das auf Lambda-Anwendungsebene gesichert ist, indem die vom Drittanbieter gesendete Authentifizierungssignatur überprüft wird. Bitte überprüfen Sie diese Konfiguration mit Ihrem Sicherheitsteam. Weitere Informationen finden Sie unter Sicherheits- und Authentifizierungsmodell für die Lambda-Funktion. URLs
Ihr Amazon EventBridge Event Bus kann eine durch eine AWS CloudFormation Vorlage URL erstellte AWS Lambda Funktion verwenden, um Ereignisse von unterstützten SaaS-Anbietern zu empfangen. Mit function URLs werden die Event-Daten an eine Lambda-Funktion gesendet. Die Funktion wandelt diese Daten dann in ein Ereignis um, das von einem Ereignisbus aufgenommen EventBridge und zur Verarbeitung an einen Ereignisbus gesendet werden kann. Sobald sich das Ereignis in einem Event Bus befindet, können Sie Regeln verwenden, um die Ereignisse zu filtern, alle konfigurierten Eingabetransformationen anzuwenden und es dann an das richtige Ziel weiterzuleiten.
Anmerkung
Die Erstellung einer Lambda-Funktion URLs erhöht Ihre monatlichen Kosten. Weitere Informationen finden Sie unter AWS Lambda Preise
Um eine Verbindung herzustellen EventBridge, wählen Sie zunächst den SaaS-Anbieter aus, mit dem Sie eine Verbindung einrichten möchten. Anschließend geben Sie ein Signing Secret an, das Sie bei diesem Anbieter erstellt haben, und wählen den EventBridge Event-Bus aus, an den Ereignisse gesendet werden sollen. Schließlich verwenden Sie eine AWS CloudFormation Vorlage und erstellen die erforderlichen Ressourcen, um die Verbindung herzustellen.
Die folgenden SaaS-Anbieter können derzeit mit der Lambda-Funktion EventBridge URLs verwendet werden:
-
GitHub
-
Twilio
Themen
- Schritt 1: Erstellen Sie den Stack AWS CloudFormation
- Schritt 2: Erstellen eines GitHub-Webhooks
- Einrichten einer Verbindung zu einem Twilio
- Aktualisieren eines Webhook-Secrets oder Authentifizierungstokens
- Aktualisieren einer Lambda-Funktion
- Verfügbare Ereignistypen
- Kontingente, Fehlercodes und Wiederholen der Zustellung
Schritt 1: Erstellen Sie den Stack AWS CloudFormation
Verwenden Sie zunächst die EventBridge Amazon-Konsole, um einen CloudFormation Stack zu erstellen:
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Schnelle Starts aus.
-
Wählen Sie unter Eingehende Webhooks mit Lambda die Option Get fURLs started aus.
-
Wählen Sie unter GitHub die Option Einrichten aus.
-
Wählen Sie unter Schritt 1: Auswählen eines Event Bus einen Event Bus aus der Dropdown-Liste aus. Dieser Eventbus empfängt Daten von der Lambda-FunktionURL, die Sie GitHub bereitstellen. Sie können auch einen Event Bus erstellen, indem Sie Neuer Event Bus auswählen.
-
Wählen Sie unter Schritt 2: Einrichten mithilfe CloudFormation die Option Neuer GitHub Webhook aus.
-
Wählen Sie Ich bestätige, dass der von mir erstellte eingehende Webhook öffentlich zugänglich ist. und Bestätigen aus.
-
Geben Sie einen Namen für den Stack ein.
-
Vergewissern Sie sich, dass unter Parameter der richtige Event Bus aufgeführt ist, und geben Sie dann ein sicheres Token für das GitHubWebhookSecret an. Weitere Informationen zum Erstellen eines sicheren Tokens finden Sie unter Einrichten Ihres geheimen Tokens
in der GitHub-Dokumentation. -
Wählen Sie unter Funktionen und Transformationen jede der folgenden Optionen aus:
-
Ich erkenne an, dass AWS CloudFormation dadurch IAM Ressourcen geschaffen werden könnten.
-
Ich erkenne an, dass dadurch IAM Ressourcen mit benutzerdefinierten Namen erstellt werden AWS CloudFormation könnten.
-
Ich erkenne an, dass dafür AWS CloudFormation möglicherweise die folgenden Funktionen erforderlich sind:
CAPABILITY_AUTO_EXPAND
-
-
Wählen Sie Stack erstellen aus.
Schritt 2: Erstellen eines GitHub-Webhooks
Als Nächstes erstellen Sie den Webhook in GitHub. Sie benötigen sowohl das sichere Token als auch die Lambda-Funktion, die URL Sie in Schritt 2 erstellt haben, um diesen Schritt abzuschließen. Weitere Informationen finden Sie unter Erstellen von Webhooks
Einrichten einer Verbindung zu einem Twilio
Schritt 1: Suchen Ihres Twilio-Authentifizierungstokens
Um eine Verbindung zwischen Twilio und einzurichten EventBridge, richten Sie zunächst die Verbindung Twilio mit dem Authentifizierungstoken oder Secret für Ihr Twilio Konto ein. Weitere Informationen finden Sie unter Authentifizierungstoken und deren Änderung
Schritt 2: Erstellen Sie den Stack AWS CloudFormation
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. -
Wählen Sie im Navigationsbereich Schnelle Starts aus.
-
Wählen Sie unter Eingehende Webhooks mit Lambda die Option Get fURLs started aus.
-
Wählen Sie unter Twilio die Option Einrichten aus.
-
Wählen Sie unter Schritt 1: Auswählen eines Event Bus einen Event Bus aus der Dropdown-Liste aus. Dieser Eventbus empfängt Daten von der Lambda-FunktionURL, die Sie Twilio bereitstellen. Sie können auch einen Event Bus erstellen, indem Sie Neuer Event Bus auswählen.
-
Wählen Sie unter Schritt 2: Einrichten mithilfe CloudFormation die Option Neuer Twilio Webhook aus.
-
Wählen Sie Ich bestätige, dass der von mir erstellte eingehende Webhook öffentlich zugänglich ist. und Bestätigen aus.
-
Geben Sie einen Namen für den Stack ein.
-
Vergewissern Sie sich, dass unter Parameter der richtige Event Bus aufgeführt ist, und geben Sie dann das TwilioWebhookSecret ein, das Sie in Schritt 1 erstellt haben.
-
Wählen Sie unter Funktionen und Transformationen jede der folgenden Optionen aus:
-
Ich erkenne an, dass AWS CloudFormation dadurch IAM Ressourcen geschaffen werden könnten.
-
Ich erkenne an, dass dadurch IAM Ressourcen mit benutzerdefinierten Namen erstellt werden AWS CloudFormation könnten.
-
Ich erkenne an, dass dafür AWS CloudFormation möglicherweise die folgenden Fähigkeiten erforderlich sind: CAPABILITY _ AUTO _ EXPAND
-
-
Wählen Sie Stack erstellen aus.
Schritt 3: Erstellen eines Twilio-Webhooks
Nachdem Sie die Lambda-Funktion eingerichtet habenURL, müssen Sie sie an Twilio weitergeben, damit Ereignisdaten gesendet werden können. Weitere Informationen finden Sie in der Dokumentation unter Configure URL your public Twilio with
Aktualisieren eines Webhook-Secrets oder Authentifizierungstokens
Aktualisieren eines GitHub-Secrets
Anmerkung
GitHub unterstützt nicht zwei Secrets gleichzeitig. Es kann zu Ressourcenausfällen kommen, wenn der GitHub geheime Schlüssel und der geheime Schlüssel im AWS CloudFormation Stack nicht synchron sind. GitHubNachrichten, die gesendet werden, obwohl die Geheimnisse nicht synchron sind, schlagen aufgrund falscher Signaturen fehl. Warten Sie, bis die GitHub und die CloudFormation Secrets synchron sind, und versuchen Sie es dann erneut.
-
Erstellen Sie ein neues GitHub-Secret. Weitere Informationen finden Sie unter Verschlüsselte Secrets
in der GitHub-Dokumentation. Öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation
. -
Wählen Sie im Navigationsbereich Stacks aus.
-
Wählen Sie den Stack für den Webhook aus, der das Secret enthält, das Sie aktualisieren möchten.
-
Wählen Sie Aktualisieren.
-
Vergewissern Sie sich, dass Aktuelle Vorlage verwenden ausgewählt ist, und klicken Sie auf Weiter.
-
Deaktivieren Sie unter GitHubWebhookSecretVorhandenen Wert verwenden, geben Sie das neue GitHub Geheimnis ein, das Sie in Schritt 1 erstellt haben, und wählen Sie Weiter aus.
-
Wählen Sie Weiter.
-
Wählen Sie Stack aktualisieren aus.
Es kann bis zu einer Stunde dauern, bis das Secret verbreitet ist. Wenn Sie diese Ausfallzeit reduzieren möchten, können Sie den Lambda-Ausführungskontext aktualisieren.
Aktualisieren eines Twilio-Secrets
Anmerkung
Twilio unterstützt nicht zwei Secrets gleichzeitig. Es kann zu Ressourcenausfällen kommen, wenn das Twilio Geheimnis und das Geheimnis im AWS CloudFormation Stapel nicht synchron sind. TwilioNachrichten, die gesendet werden, obwohl die Geheimnisse nicht synchron sind, schlagen aufgrund falscher Signaturen fehl. Warten Sie, bis die Twilio und CloudFormation Secrets synchron sind, und versuchen Sie es dann erneut.
-
Erstellen Sie ein neues Twilio-Secret. Weitere Informationen finden Sie unter Authentifizierungstoken und deren Änderung
in der Twilio-Dokumentation. Öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation
. -
Wählen Sie im Navigationsbereich Stacks aus.
-
Wählen Sie den Stack für den Webhook aus, der das Secret enthält, das Sie aktualisieren möchten.
-
Wählen Sie Aktualisieren.
-
Vergewissern Sie sich, dass Aktuelle Vorlage verwenden ausgewählt ist, und klicken Sie auf Weiter.
-
Deaktivieren Sie unter TwilioWebhookSecretVorhandenen Wert verwenden, geben Sie das neue Twilio Geheimnis ein, das Sie in Schritt 1 erstellt haben, und wählen Sie Weiter aus.
-
Wählen Sie Weiter.
-
Wählen Sie Stack aktualisieren aus.
Es kann bis zu einer Stunde dauern, bis das Secret verbreitet ist. Wenn Sie diese Ausfallzeit reduzieren möchten, können Sie den Lambda-Ausführungskontext aktualisieren.
Aktualisieren einer Lambda-Funktion
Die Lambda-Funktion, die vom CloudFormation Stack erstellt wird, erstellt den grundlegenden Webhook. Wenn Sie die Lambda-Funktion für einen bestimmten Anwendungsfall anpassen möchten, z. B. für die benutzerdefinierte Protokollierung, verwenden Sie die CloudFormation Konsole, um auf die Funktion zuzugreifen, und verwenden Sie dann die Lambda-Konsole, um den Lambda-Funktionscode zu aktualisieren.
Zugreifen auf die Lambda-Funktion
Öffnen Sie die AWS CloudFormation Konsole unter /cloudformation. https://console.aws.amazon.com
-
Wählen Sie im Navigationsbereich Stacks aus.
-
Wählen Sie den Stack für den Webhook aus, der die Lambda-Funktion enthält, die Sie aktualisieren möchten.
-
Wählen Sie die Registerkarte Ressourcen aus.
-
Wenn Sie die Lambda-Funktion in der Lambda-Konsole öffnen möchten, wählen Sie unter Physikalische ID die ID der Lambda-Funktion aus.
Nachdem Sie auf die Lambda-Funktion zugegriffen haben, verwenden Sie die Lambda-Konsole, um den Funktionscode zu aktualisieren.
Aktualisieren des Lambda-Funktionscodes
-
Wählen Sie unter Aktionen die Option Exportfunktion aus.
-
Wählen Sie Bereitstellungspaket herunterladen aus und speichern Sie die Datei auf Ihrem Computer.
-
Entpacken Sie die ZIP-Datei des Bereitstellungspakets, aktualisieren Sie die Datei
app.py
und komprimieren Sie das aktualisierte Bereitstellungspaket. Achten Sie dabei darauf, dass alle Dateien in der ursprünglichen ZIP-Datei enthalten sind. -
Wählen Sie in der Lambda-Konsole die Registerkarte Code aus.
-
Wählen Sie unter Codequelle die Option Upload von aus.
-
Wählen Sie .zip-Datei und dann Hochladen.
Wählen Sie in der Dateiauswahl die aktualisierte Datei aus, wählen Sie Öffnen und dann Speichern.
-
Wählen Sie unter Aktionen die Option Neue Version veröffentlichen aus.
Verfügbare Ereignistypen
Die folgenden Ereignistypen werden derzeit von CloudFormation Event-Bussen unterstützt:
-
GitHub— Alle Ereignistypen
werden unterstützt. -
Twilio – Webhooks nach dem Ereignis
werden unterstützt.
Kontingente, Fehlercodes und Wiederholen der Zustellung
Kontingente
Die Anzahl der eingehenden Anfragen an den Webhook wird durch die zugrunde liegenden AWS Dienste begrenzt. Die folgende Tabelle enthält die entsprechenden Kontingente.
Service | Kontingent |
---|---|
AWS Lambda |
Standard: 10 gleichzeitige Ausführungen Weitere Informationen zu Kontingenten, einschließlich dem Anfordern von Kontingenterhöhungen, finden Sie unter Lambda-Kontingente. |
AWS Secrets Manager |
Standard: 5 000 Anforderungen pro Sekunde Weitere Informationen zu Kontingenten, einschließlich dem Anfordern von Kontingenterhöhungen, finden Sie unter AWS Secrets Manager -Kontingente. AnmerkungDie Anzahl der Anforderungen pro Sekunde wird mithilfe des AWS Secrets Manager -Python-Caching-Clients |
Amazon EventBridge |
256 KB maximale Eintragsgröße für PutEvents Aktionen. EventBridge setzt regionsspezifische Preiskontingente durch. Weitere Informationen finden Sie unter EventBridge Kontingente. |
Fehlercodes
Jeder AWS Dienst gibt bestimmte Fehlercodes zurück, wenn Fehler auftreten. Die folgende Tabelle enthält die entsprechenden Fehlercodes.
Service | Fehlercode | Beschreibung |
---|---|---|
AWS Lambda |
429 „“ TooManyRequestsExption |
Das Kontingent für gleichzeitige Ausführungen wurde überschritten. |
AWS Secrets Manager |
500 “Internal Server Error” |
Das Kontingent für Anfoderungen pro Sekunde wurde überschritten. |
Amazon EventBridge |
500 “Internal Server Error” |
Das Ratenkontingent für die Region wurde überschritten. |
Erneute Zustellung von Ereignissen
Wenn Fehler auftreten, können Sie die Zustellung der betroffenen Ereignisse wiederholen. Jeder SaaS-Anbieter hat unterschiedliche Wiederholungsverfahren.
GitHub
Verwenden Sie die GitHub WebhooksAPI, um den Lieferstatus jedes Webhook-Aufrufs zu überprüfen und das Ereignis bei Bedarf erneut zuzustellen. Weitere Informationen finden Sie in der folgenden GitHub-Dokumentation:
Twilio
Twilio-Benutzer können die Optionen für die Wiederholung von Ereignissen mithilfe von Verbindungsüberschreibungen anpassen. Weitere Informationen finden Sie in der Dokumentation unter Webhooks (HTTPCallbacks): Verbindungsüberschreibungen