Come innescare AWS lambda con AWS S3

Come innescare AWS lambda con AWS S3
AWS Lambda è un servizio basato su eventi senza server che esegue codici in diversi linguaggi di programmazione in risposta a eventi specifici. Queste funzioni in AWS Lambda possono essere invocate o attivate collegando altri servizi AWS come AWS S3. Ad esempio, attivare la funzione Lambda sull'aggiunta di oggetti a un secchio, eliminando gli oggetti dal secchio, ecc.

In questo post, discuteremo di come attivare o invocare le funzioni Lambda con il servizio di archiviazione AWS S3.

Come innescare AWS lambda con s3?

Le funzioni AWS Lambda possono essere attivate dagli eventi o dai cambiamenti che si verificano nel servizio di archiviazione S3 di AWS. C'è un'opzione chiamata "Aggiungi trigger" nella console AWS Lambda per attivare le funzioni Lambda. Iniziamo il processo da zero per una migliore comprensione.

Crea un secchio S3

Accedi alla console di gestione AWS e apri il servizio S3 di AWS:

L'utente può creare un secchio o usarne uno esistente. Per questo post, creeremo un nuovo secchio. Fai clic sul pulsante "Crea bucket" sulla prima interfaccia della console AWS S3:

Digitare un nome univoco a livello globale per il secchio e quindi selezionare una regione AWS:

Aggiungi alcune altre configurazioni richieste per creare un nuovo secchio, quindi fare clic su quindi selezionare il pulsante "Crea bucket":

In questo modo, il secchio è stato creato e il secchio appena creato apparirà nell'elenco dei secchi esistenti:

Crea una funzione Lambda

Successivamente, l'utente deve aprire la console AWS Lambda. Seleziona AWS Lambda dai servizi:

Seleziona l'opzione "Funzioni" dal menu sul lato sinistro, quindi fai clic sul pulsante "Crea funzione" se non esiste un secchio esistente:

Aggiungi la configurazione richiesta per creare una nuova funzione Lambda. Per questo post, procediamo con l'opzione "Autore da zero". Gli utenti possono configurare tutte le impostazioni in base alla loro scelta:

Nomina la funzione Lambda e quindi selezionare un linguaggio di runtime dalle opzioni nel menu a discesa in cui la funzione Lambda dovrebbe apparire nella console AWS Lambda. Qui, selezioniamo “Python 3.9 ":

Fai clic sul pulsante "Crea funzione":

La funzione Lambda è stata creata in questo modo:

Aggiungi trigger

Ora possiamo condurre al passaggio principale, che sta aggiungendo il grilletto. L'interfaccia visualizzerà un'opzione "Aggiungi trigger" subito dopo aver aperto i dettagli della funzione Lambda. Basta fare clic sull'opzione:

Poiché è richiesto qui per attivare la funzione Lambda utilizzando il servizio S3 di AWS, cercare S3 nella configurazione del trigger e selezionare l'opzione:

Dopo aver selezionato un servizio per connettersi a AWS Lambda, l'interfaccia visualizza istantaneamente un modulo di configurazione in base al servizio selezionato. Ad esempio, come abbiamo selezionato il servizio "S3", le configurazioni richieste sono il nome del secchio, eventi di S3, prefisso, suffisso, ecc.:

Selezionare il secchio S3 dal menu a discesa, quindi selezionare un tipo di evento per specificare quali modifiche nel bucket S3 selezionato dovrebbero attivare la funzione Lambda. Ad esempio, selezioniamo "Tutti gli oggetti creano eventi". Ciò significa che ogni volta che un oggetto viene aggiunto o rimosso, attiverà la funzione Lambda:

L'utente può anche aggiungere un prefisso e un suffisso per limitare le notifiche dell'oggetto che iniziano e terminano con le stesse chiavi. Per questo post, lo stiamo lasciando come predefinito. Fai clic sul pulsante "Aggiungi":

Questo visualizzerà il grilletto nella console AWS Lambda:

L'utente può visualizzare tutti i dettagli del trigger per rivedere le configurazioni:

Nei dettagli della funzione Lambda, apparirà il trigger S3, indicando che il trigger è stato aggiunto correttamente alla funzione:

Funzionante di grilletto S3

Per comprendere il funzionamento del trigger "S3" e monitorare le modifiche nel secchio S3 aggiunte al trigger, scorrere verso il basso fino alla sezione "Monitor" e selezionare i "Visualizza i registri CloudWatch":

Attualmente è presente un registro presente nei registri CloudWatch:

Per attivare la funzione, possiamo caricare un oggetto nel bucket S3. Per fare ciò, vai alla console S3 e apri i dettagli del secchio S3 utilizzato per attivare la funzione AWS Lambda, quindi fare clic sul pulsante "Carica":

Sfoglia un file dal sistema e caricalo tramite il pulsante "Carica":

I registri verranno aggiornati nei registri CloudWatch e il numero di flussi di registro cambia immediatamente da uno a due che visualizzano la recente attività del secchio S3:

Questo era tutto su come attivare la funzione AWS Lambda dal servizio S3.

Conclusione

Uno dei servizi utilizzati per attivare le funzioni AWS Lambda è il servizio di archiviazione Amazon S3. Le funzioni Lambda possono essere attivate facilmente tramite l'opzione "Aggiungi trigger" presente nella console Lambda AWS. Collegando il servizio S3 alla funzione Lambda, aggiungendo il trigger, le funzioni possono essere invocate su eventi S3 specifici come il caricamento, la modifica o l'eliminazione di file in secchi.