

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
<a name="eb-saas-furls"></a>

**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](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html#urls-auth-none). URLs

Ihr Amazon EventBridge [Event Bus](eb-event-bus.md) kann eine durch eine CloudFormation Vorlage erstellte [AWS Lambda Funktions-URL](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) verwenden, um [Ereignisse](eb-events.md) 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](https://aws.amazon.com/lambda/pricing).

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

**Topics**
+ [Schritt 1: Erstellen Sie den Stack CloudFormation](#create-gh-cfn-stack)
+ [Schritt 2: Erstellen eines GitHub-Webhooks](#create-gh-webhook)
+ [Einrichten einer Verbindung zu einem Twilio](#furls-connection-twilio)
+ [Aktualisieren eines Webhook-Secrets oder Authentifizierungstokens](#furls-update-secret)
+ [Aktualisieren einer Lambda-Funktion](#furls-update-function)
+ [Verfügbare Ereignistypen](#furls-event-types)
+ [Kontingente, Fehlercodes und Wiederholen der Zustellung](#furls-quotas-errors)

## Schritt 1: Erstellen Sie den Stack CloudFormation
<a name="create-gh-cfn-stack"></a>

 Verwenden Sie zunächst die EventBridge Amazon-Konsole, um einen CloudFormation Stack zu erstellen:

1. Öffnen Sie die EventBridge Amazon-Konsole unter [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Wählen Sie im Navigationsbereich **Schnelle Starts** aus.

1. **Wählen Sie unter **Eingehende Webhooks mit Lambda f** die Option Get URLs started aus.**

1. Wählen Sie unter **GitHub** die Option **Einrichten** aus.

1. Wählen Sie unter **Schritt 1: Auswählen eines Event Bus** einen Event Bus aus der Dropdown-Liste aus. Dieser Event Bus empfängt Daten von der Lambda-Funktions-URL, die Sie für GitHub bereitstellen. Sie können auch einen Event Bus erstellen, indem Sie **Neuer Event Bus** auswählen.

1. **Wählen **Sie unter Schritt 2: Einrichtung mithilfe** die Option Neuer CloudFormation Webhook aus. GitHub**

1. Wählen Sie **Ich bestätige, dass der von mir erstellte eingehende Webhook öffentlich zugänglich ist.** und **Bestätigen** aus.

1. Geben Sie einen Namen für den Stack ein.

1. 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](https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks#setting-your-secret-token) in der GitHub-Dokumentation.

1. Wählen Sie unter **Funktionen und Transformationen** jede der folgenden Optionen aus:
   + **Ich erkenne an, dass CloudFormation dadurch IAM-Ressourcen entstehen könnten.**
   + **Ich erkenne an, dass CloudFormation dadurch möglicherweise IAM-Ressourcen mit benutzerdefinierten Namen erstellt werden.**
   + **Ich erkenne an, dass dafür CloudFormation möglicherweise die folgenden Funktionen erforderlich sind: `CAPABILITY_AUTO_EXPAND`**

1. Wählen Sie **Stack erstellen** aus.

## Schritt 2: Erstellen eines GitHub-Webhooks
<a name="create-gh-webhook"></a>

Als Nächstes erstellen Sie den Webhook in GitHub. Sie benötigen sowohl das sichere Token als auch die Lambda-Funktions-URL, die Sie in Schritt 2 erstellt haben, um diesen Schritt abzuschließen. Weitere Informationen finden Sie unter [Erstellen von Webhooks](https://docs.github.com/en/developers/webhooks-and-events/webhooks/creating-webhooks) in der GitHub-Dokumentation.

## Einrichten einer Verbindung zu einem Twilio
<a name="furls-connection-twilio"></a>

### Schritt 1: Suchen Ihres Twilio-Authentifizierungstokens
<a name="create-twilio-secret"></a>

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](https://support.twilio.com/hc/en-us/articles/223136027-Auth-Tokens-and-How-to-Change-Them) in der Twilio-Dokumentation.

### Schritt 2: Erstellen Sie den Stack CloudFormation
<a name="create-twilio-cfn-stack"></a>

1. Öffnen Sie die EventBridge Amazon-Konsole unter [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Wählen Sie im Navigationsbereich **Schnelle Starts** aus.

1. **Wählen Sie unter **Eingehende Webhooks mit Lambda f** die Option Get URLs started aus.**

1. Wählen Sie unter **Twilio** die Option **Einrichten** aus.

1. Wählen Sie unter **Schritt 1: Auswählen eines Event Bus** einen Event Bus aus der Dropdown-Liste aus. Dieser Event Bus empfängt Daten von der Lambda-Funktions-URL, die Sie für Twilio bereitstellen. Sie können auch einen Event Bus erstellen, indem Sie **Neuer Event Bus** auswählen.

1. **Wählen **Sie unter Schritt 2: Einrichtung mithilfe** die Option Neuer CloudFormation Webhook aus. Twilio**

1. Wählen Sie **Ich bestätige, dass der von mir erstellte eingehende Webhook öffentlich zugänglich ist.** und **Bestätigen** aus.

1. Geben Sie einen Namen für den Stack ein.

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

1. Wählen Sie unter **Funktionen und Transformationen** jede der folgenden Optionen aus:
   + **Ich erkenne an, dass CloudFormation dadurch IAM-Ressourcen entstehen könnten.**
   + **Ich erkenne an, dass CloudFormation dadurch möglicherweise IAM-Ressourcen mit benutzerdefinierten Namen erstellt werden.**
   + **Ich erkenne an, dass dafür CloudFormation möglicherweise die folgende Fähigkeit erforderlich ist: CAPABILITY\$1AUTO\$1EXPAND**

1. Wählen Sie **Stack erstellen** aus.

### Schritt 3: Erstellen eines Twilio-Webhooks
<a name="create-twilio-webhook"></a>

Nachdem Sie die Lambda-Funktions-URL eingerichtet haben, müssen Sie sie an Twilio weitergeben, damit die Ereignisdaten gesendet werden können. Weitere Informationen finden Sie unter [Konfigurieren Ihrer öffentlichen URL mit Twilio](https://www.twilio.com/docs/usage/webhooks/getting-started-twilio-webhooks#configure-your-public-url-with-twilio) in der Twilio-Dokumentation.

## Aktualisieren eines Webhook-Secrets oder Authentifizierungstokens
<a name="furls-update-secret"></a>

### Aktualisieren eines GitHub-Secrets
<a name="update-gh-secret"></a>

**Anmerkung**  
GitHub unterstützt nicht zwei Secrets gleichzeitig. Es kann zu Ressourcenausfällen kommen, wenn das GitHub Geheimnis und das Geheimnis im 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.

1. Erstellen Sie ein neues GitHub-Secret. Weitere Informationen finden Sie unter [Verschlüsselte Secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) in der GitHub-Dokumentation.

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie im Navigationsbereich **Stacks** aus.

1. Wählen Sie den Stack für den Webhook aus, der das Secret enthält, das Sie aktualisieren möchten.

1. Wählen Sie **Aktualisieren** aus.

1. Vergewissern Sie sich, dass **Aktuelle Vorlage verwenden** ausgewählt ist, und klicken Sie auf **Weiter**.

1. **Deaktivieren **Sie unter **GitHubWebhookSecret**Vorhandenen Wert verwenden**, geben Sie das neue GitHub Geheimnis ein, das Sie in Schritt 1 erstellt haben, und wählen Sie Weiter aus.**

1. Wählen Sie **Weiter** aus.

1. 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
<a name="update-twilio-secret"></a>

**Anmerkung**  
Twilio unterstützt nicht zwei Secrets gleichzeitig. Es kann zu Ressourcenausfällen kommen, wenn das Twilio Geheimnis und das Geheimnis im 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.

1. Erstellen Sie ein neues Twilio-Secret. Weitere Informationen finden Sie unter [Authentifizierungstoken und deren Änderung](https://support.twilio.com/hc/en-us/articles/223136027-Auth-Tokens-and-How-to-Change-Them) in der Twilio-Dokumentation.

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie im Navigationsbereich **Stacks** aus.

1. Wählen Sie den Stack für den Webhook aus, der das Secret enthält, das Sie aktualisieren möchten.

1. Wählen Sie **Aktualisieren** aus.

1. Vergewissern Sie sich, dass **Aktuelle Vorlage verwenden** ausgewählt ist, und klicken Sie auf **Weiter**.

1. **Deaktivieren **Sie unter **TwilioWebhookSecret**Vorhandenen Wert verwenden**, geben Sie das neue Twilio Geheimnis ein, das Sie in Schritt 1 erstellt haben, und wählen Sie Weiter aus.**

1. Wählen Sie **Weiter** aus.

1. 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
<a name="furls-update-function"></a>

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**

1. [Öffnen Sie die CloudFormation Konsole unter /cloudformation. https://console.aws.amazon.com](https://console.aws.amazon.com/cloudformation/)

1. Wählen Sie im Navigationsbereich **Stacks** aus.

1. Wählen Sie den Stack für den Webhook aus, der die Lambda-Funktion enthält, die Sie aktualisieren möchten.

1. Wählen Sie die Registerkarte **Ressourcen** aus.

1. 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**

1. Wählen Sie unter **Aktionen** die Option **Exportfunktion** aus.

1. Wählen Sie **Bereitstellungspaket herunterladen** aus und speichern Sie die Datei auf Ihrem Computer.

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

1. Wählen Sie in der Lambda-Konsole die Registerkarte **Code** aus.

1. Wählen Sie unter **Codequelle** die Option **Upload von** aus.

1. Wählen Sie **.zip-Datei** und dann **Hochladen**. 

   1. Wählen Sie in der Dateiauswahl die aktualisierte Datei aus, wählen Sie **Öffnen** und dann **Speichern**.

1. Wählen Sie unter **Aktionen** die Option **Neue Version veröffentlichen** aus.

## Verfügbare Ereignistypen
<a name="furls-event-types"></a>

Die folgenden Ereignistypen werden derzeit von CloudFormation Event-Bussen unterstützt:
+ **GitHub**— [Alle Ereignistypen](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads) werden unterstützt.
+ **Twilio** – [Webhooks nach dem Ereignis](https://www.twilio.com/docs/chat/webhook-events) werden unterstützt.

## Kontingente, Fehlercodes und Wiederholen der Zustellung
<a name="furls-quotas-errors"></a>

### Kontingente
<a name="furls-quotas"></a>

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](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).  | 
|  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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html). Die Anzahl der Anforderungen pro Sekunde wird mithilfe des [AWS Secrets Manager -Python-Caching-Clients](https://github.com/aws/aws-secretsmanager-caching-python#cache-configuration) minimiert.  | 
|  Amazon EventBridge  |  1 MB maximale Eintragsgröße für PutEvents Aktionen.  EventBridge setzt regionsspezifische Zollkontingente durch. Weitere Informationen finden Sie unter [EventBridge Event-Bus-Kontingente](eb-quota.md#eb-limits).  | 

### Fehlercodes
<a name="furls-errors"></a>

Jeder AWS Dienst gibt bestimmte Fehlercodes zurück, wenn Fehler auftreten. Die folgende Tabelle enthält die entsprechenden Fehlercodes.


| Service | Fehlercode | Description | 
| --- | --- | --- | 
|  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
<a name="furls-redelivery"></a>

Wenn Fehler auftreten, können Sie die Zustellung der betroffenen Ereignisse wiederholen. Jeder SaaS-Anbieter hat unterschiedliche Wiederholungsverfahren.

#### GitHub
<a name="furls-redelivery-github"></a>

Verwenden Sie die GitHub-Webhooks-API, um den Zustellstatus jedes Webhook-Aufrufs zu überprüfen und das Ereignis bei Bedarf erneut zuzustellen. Weitere Informationen finden Sie in der folgenden GitHub-Dokumentation:
+ **Organisation** – [Stellen Sie eine Zustellung für einen Organisations-Webhook erneut zu.](https://docs.github.com/en/rest/orgs/webhooks#redeliver-a-delivery-for-an-organization-webhook)
+ **Repository** – [Stellen Sie eine Zustellung für einen Repository-Webhook erneut zu.](https://docs.github.com/en/rest/webhooks/repo-deliveries#redeliver-a-delivery-for-a-repository-webhook)
+ **App** – [Stellen Sie eine Zustellung für einen App-Webhook erneut zu.](https://docs.github.com/en/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook)

#### Twilio
<a name="furls-redelivery-twilio"></a>

Twilio-Benutzer können die Optionen für die Wiederholung von Ereignissen mithilfe von Verbindungsüberschreibungen anpassen. Weitere Informationen finden Sie unter [Webhooks (HTTP-Callbacks): Verbindungsüberschreibungen](https://www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides) in der Twilio-Dokumentation.