Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Ricezione di eventi SaaS dalla AWS Lambda funzione URLs in Amazon EventBridge
Nota
Affinché l'Inbound Webhook sia accessibile ai nostri partner, stiamo creando un Open Lambda nel tuo AWS account che è protetto a livello di applicazione Lambda verificando la firma di autenticazione inviata dal partner terzo. Esamina questa configurazione con il tuo team di sicurezza. Per ulteriori informazioni, consulta Modello di sicurezza e autenticazione per la funzione URLs Lambda.
Il tuo bus di EventBridge eventi Amazon può utilizzare una AWS Lambda funzione URL creata da un AWS CloudFormation modello per ricevere eventi dai provider SaaS supportati. Con functionURLs, i dati dell'evento vengono inviati a una funzione Lambda. La funzione converte quindi questi dati in un evento che può essere acquisito EventBridge e inviato a un bus di eventi per l'elaborazione. Una volta che l'evento è in un router di eventi, è possibile utilizzare le regole per filtrare gli eventi, applicare eventuali trasformazioni di input configurate e quindi instradarlo alla destinazione corretta.
Nota
La creazione della funzione Lambda URLs aumenterà i costi mensili. Per ulteriori informazioni, consulta Prezzi di AWS Lambda
Per configurare una connessione EventBridge, devi prima selezionare il provider SaaS con cui desideri configurare una connessione. Quindi, fornisci un segreto di firma che hai creato con quel provider e seleziona il bus degli EventBridge eventi a cui inviare gli eventi. Infine, usi un AWS CloudFormation modello e crei le risorse necessarie per completare la connessione.
I seguenti provider SaaS sono attualmente disponibili per l'uso con la funzione EventBridge Lambda: URLs
-
GitHub
-
Twilio
Argomenti
- Fase 1: Creare lo stack AWS CloudFormation
- Passaggio 2: creare un webhook GitHub
- Configurazione di una connessione a Twilio
- Aggiornamento del segreto o del token di autenticazione del webhook
- Aggiornamento della funzione Lambda
- Tipi di eventi disponibili
- Quote, codici di errore e nuovi tentativi di distribuzione
Fase 1: Creare lo stack AWS CloudFormation
Innanzitutto, usa la EventBridge console Amazon per creare uno CloudFormation stack:
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel riquadro di navigazione scegli Avviamenti rapidi.
-
In Webhook in entrata che utilizzano Lambda fURLs, scegli Inizia.
-
In GitHub, scegli Configura.
-
In Passaggio 1: selezionare un router di eventi, seleziona un router di eventi dall'elenco a discesa. Questo bus di eventi riceve i dati dalla funzione Lambda URL fornita a. GitHub Puoi anche creare un router di eventi selezionando Nuovo bus di eventi.
-
Nel Passaggio 2: Configurazione tramite CloudFormation, scegli Nuovo GitHub webhook.
-
Seleziona Riconosco che il webhook in entrata che creo sarà accessibile pubblicamente. e scegli Conferma.
-
Immettere un nome per lo stack.
-
In Parametri, verifica che sia elencato il router di eventi corretto, quindi specifica un token sicuro per GitHubWebhookSecret. Per ulteriori informazioni sulla creazione di un token sicuro, consulta Setting your secret token
nella documentazione GitHub. -
In Funzionalità e trasformazioni, seleziona le seguenti opzioni:
-
Riconosco che ciò AWS CloudFormation potrebbe creare IAM risorse.
-
Riconosco che AWS CloudFormation potrebbe creare IAM risorse con nomi personalizzati.
-
Riconosco che AWS CloudFormation potrebbe richiedere la seguente funzionalità:
CAPABILITY_AUTO_EXPAND
-
-
Seleziona Crea stack.
Passaggio 2: creare un webhook GitHub
A questo punto, devi creare il webhook in GitHub. Per completare questo passaggio sono necessari sia il token sicuro URL che la funzione Lambda creata nel passaggio 2. Per ulteriori informazioni, consulta Creating webhooks
Configurazione di una connessione a Twilio
Passaggio 1: trovare il token di autenticazione Twilio
Per configurare una connessione tra Twilio e EventBridge, configura innanzitutto la connessione Twilio con il token di autenticazione, o segreto, per il tuo Twilio account. Per ulteriori informazioni, consulta Auth Tokens e How To Change Them
Passaggio 2: crea lo stack AWS CloudFormation
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel riquadro di navigazione, scegli Avviamenti rapidi.
-
In Webhook in entrata che utilizzano Lambda fURLs, scegli Inizia.
-
In Twilio, scegli Configura.
-
In Passaggio 1: selezionare un router di eventi, seleziona un router di eventi dall'elenco a discesa. Questo bus di eventi riceve i dati dalla funzione Lambda URL fornita a. Twilio Puoi anche creare un router di eventi selezionando Nuovo bus di eventi.
-
Nel Passaggio 2: Configurazione tramite CloudFormation, scegli Nuovo Twilio webhook.
-
Seleziona Riconosco che il webhook in entrata che creo sarà accessibile pubblicamente. e scegli Conferma.
-
Immettere un nome per lo stack.
-
In Parametri, verifica che sia elencato il router di eventi corretto, quindi immetti TwilioWebhookSecret creato in Passaggio 1.
-
In Funzionalità e trasformazioni, seleziona le seguenti opzioni:
-
Riconosco che ciò AWS CloudFormation potrebbe creare IAM risorse.
-
Riconosco che AWS CloudFormation potrebbe creare IAM risorse con nomi personalizzati.
-
Riconosco che AWS CloudFormation potrebbe richiedere la seguente funzionalità: CAPABILITY _ AUTO _ EXPAND
-
-
Seleziona Crea stack.
Passaggio 3: creare un webhook Twilio
Dopo aver impostato la funzione LambdaURL, devi darla a Twilio in modo che i dati degli eventi possano essere inviati. Per ulteriori informazioni, consulta Configure your public URL with Twilio
Aggiornamento del segreto o del token di autenticazione del webhook
Aggiornamento del segreto GitHub
Nota
GitHub non supporta due segreti nello stesso momento. È possibile che si verifichino tempi di inattività delle risorse quando il GitHub segreto e il segreto nello AWS CloudFormation stack non sono sincronizzati. GitHubi messaggi inviati mentre i segreti non sono sincronizzati falliranno a causa di firme errate. Attendi che i CloudFormation segreti GitHub e i segreti siano sincronizzati, quindi riprova.
-
Crea un nuovo segreto GitHub. Per ulteriori informazioni, consulta Encryptes secrets
nella documentazione GitHub. Apri la AWS CloudFormation console in https://console.aws.amazon.com/cloudformation.
-
Scegli Stack nel riquadro di navigazione.
-
Scegli lo stack per il webhook che include il segreto da aggiornare.
-
Scegli Aggiorna.
-
Assicurati che l'opzione Utilizza modello corrente sia selezionata e scegli Successivo.
-
In GitHubWebhookSecret, deseleziona Usa il valore esistente, inserisci il nuovo GitHub segreto che hai creato nel passaggio 1 e scegli Avanti.
-
Scegli Next (Successivo).
-
Scegli Aggiorna stack.
La propagazione del segreto può richiedere fino a un'ora. Per ridurre questo periodo di inattività, puoi aggiornare il contesto di esecuzione Lambda.
Aggiornamento del segreto Twilio
Nota
Twilio non supporta due segreti nello stesso momento. È possibile che si verifichino tempi di inattività delle risorse quando il Twilio segreto e il segreto nello AWS CloudFormation stack non sono sincronizzati. Twilioi messaggi inviati mentre i segreti non sono sincronizzati falliranno a causa di firme errate. Attendi che CloudFormation i segreti Twilio e i segreti siano sincronizzati, quindi riprova.
-
Crea un nuovo segreto Twilio. Per ulteriori informazioni, consulta Auth Tokens e How To Change Them
nella documentazione Twilio. Apri la AWS CloudFormation console in https://console.aws.amazon.com/cloudformation.
-
Scegli Stack nel riquadro di navigazione.
-
Scegli lo stack per il webhook che include il segreto da aggiornare.
-
Scegli Aggiorna.
-
Assicurati che l'opzione Utilizza modello corrente sia selezionata e scegli Successivo.
-
In TwilioWebhookSecret, deseleziona Usa il valore esistente, inserisci il nuovo Twilio segreto che hai creato nel passaggio 1 e scegli Avanti.
-
Scegli Next (Successivo).
-
Scegli Aggiorna stack.
La propagazione del segreto può richiedere fino a un'ora. Per ridurre questo periodo di inattività, puoi aggiornare il contesto di esecuzione Lambda.
Aggiornamento della funzione Lambda
La funzione Lambda creata dallo CloudFormation stack crea il webhook di base. Se desideri personalizzare la funzione Lambda per un caso d'uso specifico, come la registrazione personalizzata, usa la console per accedere alla funzione e poi usa la CloudFormation console Lambda per aggiornare il codice della funzione Lambda.
Aggiornamento della funzione Lambda
-
Scegli Stack nel riquadro di navigazione.
-
Scegli lo stack del webhook che include la funzione Lambda da aggiornare.
-
Scegli la scheda Risorse.
-
Per aprire la funzione Lambda nella console Lambda, in ID fisico, scegli l'ID della funzione Lambda.
Ora che hai effettuato l'accesso alla funzione Lambda, utilizza la console Lambda per aggiornare il codice della funzione.
Aggiornamento della funzione Lambda
-
In Azioni, scegli Esporta funzione.
-
Scegli Scarica pacchetto di distribuzione e salva il file nel tuo computer.
-
Decomprimi il file .zip del pacchetto di implementazione, aggiorna il file
app.py
e comprimi il pacchetto di implementazione aggiornato, assicurandoti che siano inclusi tutti i file nel file .zip originale. -
Nella console Lambda, scegli la scheda Codice.
-
In Code source (Origine codice), scegli Upload from (Carica da).
-
Scegli .zip file, quindi scegli Upload (Carica).
Nel selettore di file, seleziona il file aggiornato, scegli Apri, quindi scegli Salva.
-
In Azioni, scegli Pubblica nuova versione.
Tipi di eventi disponibili
I seguenti tipi di eventi sono attualmente supportati dai CloudFormation bus degli eventi:
-
GitHub— Tutti i tipi di eventi
sono supportati. -
Twilio: sono supportati webhook post-evento
.
Quote, codici di errore e nuovi tentativi di distribuzione
Quote
Il numero di richieste in entrata al webhook è limitato dai servizi sottostanti. AWS La tabella seguente include le quote pertinenti.
Servizio | Quota |
---|---|
AWS Lambda |
Impostazione predefinita: 10 esecuzioni simultanee Per ulteriori informazioni sulle quote, inclusa la richiesta di aumento delle stesse, consulta Quote di Lambda. |
AWS Secrets Manager |
Valore predefinito: 5.000 richieste al secondo Per ulteriori informazioni sulle quote, inclusa la richiesta di aumento delle stesse, consulta Quote di AWS Secrets Manager. NotaIl numero di richieste al secondo viene ridotto al minimo utilizzando il client di caching Python di AWS Secrets Manager |
Amazon EventBridge |
Dimensione massima di 256 KB di ingresso per PutEvents le azioni. EventBridge applica quote tariffarie basate sulla regione. Per ulteriori informazioni, consulta EventBridge quote. |
Codici di errore
Ogni AWS servizio restituisce codici di errore specifici quando si verificano errori. La tabella seguente include i codici di errore pertinenti.
Servizio | Codice di errore | Descrizione |
---|---|---|
AWS Lambda |
429 «» TooManyRequestsExption |
La quota di esecuzioni simultanee è stata superata. |
AWS Secrets Manager |
500 "Errore interno del server" |
La quota di richieste al secondo è stata superata. |
Amazon EventBridge |
500 "Errore interno del server" |
La quota tariffaria è stata superata per la Regione. |
Ridistribuzione degli eventi
In caso di errori, puoi riprovare a distribuire gli eventi interessati. Ogni provider SaaS ha procedure di ripetizione differenti.
GitHub
Usa i GitHub webhook API per verificare lo stato di consegna di ogni chiamata tramite webhook e reinviare l'evento, se necessario. Per ulteriori informazioni, consulta la seguente documentazione GitHub:
-
Organizzazione: Redeliver a delivery for an organization webhook
-
Repository: Redeliver a delivery for a repository webhook
Twilio
Gli utenti Twilio possono personalizzare le opzioni di ripetizione degli eventi utilizzando sostituzioni di connessioni. Per ulteriori informazioni, consulta Webhook (HTTPcallback)