Introduzione ai trigger disponibili per richiamare una funzione Lambda

Introduzione Ai Trigger Disponibili Per Richiamare Una Funzione Lambda



AWS Lambda è uno straordinario servizio basato su cloud che ha rivoluzionato il mondo serverless. In realtà è un software come servizio (SaaS) che può essere configurato facilmente e rapidamente ed è utile per ridurre il budget complessivo della tua infrastruttura cloud. Quello che devi fare è semplicemente progettare il tuo codice ed eseguirlo usando la funzione lambda.

Ora, il punto qui è come dovresti eseguire il tuo codice nella funzione e la risposta a questo è che esiste un lungo elenco di metodi attraverso i quali puoi invocare o attivare le tue funzioni lambda. Ciò include molti altri servizi AWS che possono essere utilizzati per chiamare la funzione desiderata quando richiesto.

In questo articolo, vedrai una breve spiegazione relativa ai servizi e alle tecniche che possono essere applicate per richiamare le tue funzioni lambda in Amazon.







Tipi di invocazioni

Prima di andare oltre, discutiamo i seguenti due tipi principali di invocazioni che la funzione lambda può gestire.



  • Invocazioni sincrone
  • Invocazioni asincrone
  1. Invocazioni sincrone
    Nelle chiamate sincrone, il servizio che richiama lambda deve attendere che i risultati vengano restituiti e quindi continuare il resto del processo. Possiamo anche dire che l'output della funzione lambda è richiesto dalla funzione o dal servizio stesso che ha invocato questa lambda.
  2. Invocazioni asincrone

    In questo caso, non è necessario attendere che le funzioni lambda restituiscano i risultati all'invocatore. Viene utilizzato principalmente per le notifiche o per attivare altri eventi indipendenti in AWS. Il servizio che vuole invocare la funzione lambda invia semplicemente il trigger e quell'operazione viene accodata nella lambda e verrà eseguita a sua volta.



Diversi modi per invocare Lambda

Qui vedrai numerosi modi per invocare le funzioni lambda. Sapere questo ti sarà molto utile la prossima volta che progetterai la tua infrastruttura AWS semplice ma economica.





Richiama direttamente le funzioni Lambda

Nella maggior parte dei casi, le funzioni lambda sono progettate per essere attivate utilizzando altri servizi, ma puoi richiamarle direttamente utilizzando la console di gestione AWS, AWS CLI e tramite l'URL della funzione.

Richiamo Lambda dalla Management Console

Quando crei una funzione lambda nella tua console AWS, puoi attivarla facilmente utilizzando l'opzione di esecuzione del test nella console. Il Test è disponibile nella sezione codice della funzione lambda.



Puoi creare un evento personalizzato e utilizzare la console con il tuo modello di evento personalizzato.

In questo modo, la funzione lambda può essere attivata dalla console AWS.

AWS CLI

AWS ti dà la possibilità di utilizzare tutte le sue risorse utilizzando l'interfaccia della riga di comando di AWS. Qualsiasi funzione lambda può anche essere richiamata con questa CLI. Questo può essere molto efficace per testare le cose durante le fasi di sviluppo. Il comando AWS CLI può essere utilizzato come trigger per richiamare la funzione lambda.

[email protetta] :~$ aws lambda invoca \
--nome-funzione < Immettere il nome della funzione Lambda > \
--carico utile < Valore di input per Funzione Lambda > \
--cli-formato-binario < base64 | raw-in-base64-out > < Nome file di output >

La funzione è stata attivata correttamente e puoi anche osservarlo nell'output.

URL della funzione

L'URL della funzione è in realtà un endpoint HTTP che puoi configurare per le tue funzioni lambda. Questo URL può essere utilizzato per attivare le funzioni lambda e puoi anche condividere questo URL con altri utenti anche al di fuori del tuo account AWS per richiamare le funzioni lambda. Anche se dovresti stare attento con gli URL delle funzioni, chiunque abbia questo link può attivare la tua funzione lambda innumerevoli volte e tutti i costi saranno a tuo carico.

È possibile configurare un URL di funzione durante la creazione e dopo la creazione della funzione lambda. Per questo, vai semplicemente alle impostazioni avanzate nella sezione di configurazione e controlla il Abilita URL funzione scatola.

Nel caso in cui non hai allegato l'URL di una funzione durante la creazione della funzione lambda, puoi farlo in un secondo momento. Per questo, devi andare alla scheda di configurazione, selezionare l'URL della funzione e fare clic su Crea URL funzione .

In questo modo, l'URL della funzione viene creato e utilizzato per richiamare la funzione lambda.

Richiama le funzioni Lambda utilizzando i servizi AWS

Molti servizi AWS possono essere configurati come trigger per invocare la funzione lambda. Devi solo configurare i servizi AWS come trigger per invocare la funzione lambda. Qui, esaminiamo tutti questi servizi con una spiegazione su come usarli come trigger lambda.

Gateway API

Questo è un servizio AWS ampiamente utilizzato per creare e gestire le API nel modello dell'applicazione. Le API offrono un modo molto flessibile per generare richieste o chiamate da un pacchetto software a un altro pacchetto che non possiamo esporre direttamente e che vogliamo solo rimanere dietro le quinte.

Per aggiungere qualsiasi servizio come trigger alla tua funzione lambda, vai semplicemente alla funzione lambda e fai clic su aggiungi trigger.

Successivamente, puoi selezionare il servizio che desideri allegare come trigger alla tua funzione lambda. Per questa sezione, selezioniamo il gateway API come trigger per la funzione lambda.

Quindi, configura il servizio come desideri che agisca nella struttura dell'applicazione.

Esistono due tipi di API supportati dal gateway API e possono essere utilizzati per invocare una funzione lambda.

API HTTP : vengono utilizzati per generare gli endpoint HTTP che vengono instradati alle funzioni lambda. Le API HTTP offrono meno funzionalità e sono meno costose da utilizzare.

API REST : se desideri più funzionalità nella tua API, devi scegliere un'API REST. Queste API possono invocare la funzione lambda e utilizzare gli stessi metodi HTTP, fornendo maggiore flessibilità e indipendenza.

Secchio S3

Ci sono molti casi d'uso in cui vedrai che i bucket S3 agiscono come trigger per invocare la funzione lambda. Puoi configurare un bucket S3 per attivare la funzione lambda per un evento S3 specifico.

Ad esempio, vuoi raccogliere i metadati di qualsiasi file quando viene caricato nel tuo bucket. Per questo, sviluppi un codice e lo distribuisci sulla funzione lambda. Per il trigger Lambda, seleziona il bucket S3. Per il tipo di evento, selezionare metti oggetto . In modo che, ogni volta che un nuovo file viene aggiunto al bucket, viene attivata la funzione lambda e i metadati dell'oggetto vengono raccolti e archiviati nel percorso di destinazione quando specificato.

Possono esserci molti altri scenari in cui S3 può essere utilizzato come trigger per invocare la funzione lambda.

Bilanciatore di carico

Supponiamo che la tua applicazione sia progettata per essere eseguita su funzioni lambda poiché la funzione lambda è la soluzione più conveniente per una semplice applicazione basata su cloud. Ora, per esporre la tua applicazione agli utenti finali, potresti voler allegare un sistema di bilanciamento del carico davanti ad essa. Per questa sezione, seleziona il servizio di bilanciamento del carico che funge da trigger per richiamare la funzione lambda. Ricorda che puoi configurare il servizio di bilanciamento del carico dell'applicazione solo per questa attività poiché altri servizi di bilanciamento del carico non sono supportati dalle funzioni lambda.

Per aggiungere il servizio di bilanciamento del carico dell'applicazione alla funzione lambda, devi prima creare un gruppo di destinazione e la funzione lambda viene aggiunta a quel gruppo di destinazione. Ora, il gruppo target appena creato può essere aggiunto ai listener del servizio di bilanciamento del carico dell'applicazione.

CloudFront

Amazon CloudFront è in realtà una CDN (Content Delivery Network) e viene utilizzato per memorizzare nella cache i dati dell'applicazione in edge location molto più vicine agli utenti finali rispetto ai server delle applicazioni effettivi. Utilizzando CloudFront, puoi davvero migliorare i tempi di risposta per fornire il contenuto statico agli utenti finali in tutto il mondo.

Le funzioni lambda possono essere attivate utilizzando il servizio CloudFront. Per questo, devi distribuire la tua funzione lambda su edge location in tutto il mondo conosciute come [email protetta]

Puoi impostare CloudFront come trigger per inviare le richieste al [email protetta] tramite CloudFront per migliorare i tempi di risposta. Come la [email protetta] è distribuito in tutte le edge location in tutto il mondo, gli utenti finali devono affrontare tempi di risposta minimi accedendo alla edge location lambda più vicina.

Per configurarlo, vai semplicemente su aggiungi trigger e scegli il servizio CloudFront. Lì vedrai il distribuire a [email protetta] opzione.

Ora devi solo completare i passaggi di configurazione e iniziare.

Registri di CloudWatch

Ogni volta che pensi al monitoraggio nel cloud AWS, la prima cosa che ti viene in mente è CLoudWatch poiché si tratta di un servizio di monitoraggio molto vasto che può essere configurato per diversi servizi in un modo molto utile.

I log di CloudWatch, come definisce il nome, sono un servizio di registrazione che può essere utilizzato per archiviare tutti i tipi di log. È possibile creare gruppi di registri diversi per servizi diversi per mantenere i registri separati. Questi registri possono essere utilizzati per attivare la funzione lambda in base agli eventi che stanno ricevendo, indipendentemente dal servizio o dalla procedura che produce questi eventi.

Puoi configurare il trigger dalla console delle funzioni lambda o direttamente dai log di CloudWatch. Per farlo dalla console CloudWatch, vai semplicemente al servizio CloudWatch e apri i gruppi di log. Qui devi creare un filtro di abbonamento lambda.

Quindi, scegli la funzione lambda che desideri e sei a posto.

Ora, ogni volta che CloudWatch ottiene quel flusso di log, funge da trigger per richiamare la funzione lambda.

Event Bridge

Amazon EventBridge (precedentemente noto come CloudWatch Events) è un servizio AWS che consente di creare le regole dell'evento per attivare un servizio AWS specifico su un evento specifico che si verifica in un account AWS.

È possibile impostare un'ampia varietà di regole per i servizi AWS (come la creazione di istanze EC2 o gli eventi di database RDS) nonché per i servizi di terze parti (come l'evento push GitHub). Queste regole possono essere ulteriormente collegate con altri servizi come le funzioni lambda in modo tale che ogni volta che questa regola viene soddisfatta, invochi la funzione lambda.

Se hai già impostato una regola EventBridge, puoi facilmente aggiungere questa regola come trigger alla tua funzione lambda. Seleziona EventBridge come attivatore e fornisci semplicemente il nome della regola.

Una regola esistente viene aggiunta qui come trigger, ma a questo punto potresti anche creare una regola.

DynamoDB

Potresti aver saputo che DynamoDB è solo un database NoSQL e appare come un servizio completamente separato in AWS. Questo è un database serverless completamente configurato e puoi semplicemente iniziare direttamente a creare tabelle al suo interno. Queste tabelle DynamoDB possono essere configurate per fungere da trigger per richiamare le funzioni lambda.

I dati da DynamoDB possono essere caricati in lambda come input sotto forma di batch e vengono elaborati utilizzando il codice distribuito in lambda.

Cinesi

Se desideri raccogliere e analizzare i dati in tempo reale a una velocità elevata, puoi trarre vantaggio da AWS Kinesis. Si supponga di voler elaborare i dati raccolti dai flussi di dati Kinesis utilizzando le funzioni lambda. Devi semplicemente attivare la tua funzione lambda ogni volta che i dati vengono registrati da Kinesis.

Hai appena finito di configurare il tuo flusso di dati Kinesis per invocare la funzione lambda.

SNS

È semplicemente un servizio di notifica comunemente utilizzato per inviare notifiche da un servizio AWS all'altro perché a volte non è possibile configurare le notifiche direttamente da un servizio all'altro. Le funzioni lambda possono essere attivate utilizzando questo servizio.

Crea prima un argomento SNS, quindi usalo per richiamare la tua funzione lambda.

Devi selezionare il nome del tuo argomento SNS. Non ci sono altre configurazioni o impostazioni.

Conclusione

Amazon Lambda è davvero una svolta nell'architettura cloud. Lo sviluppo e la distribuzione delle applicazioni non sono mai stati così facili e diretti prima di allora. Ti consente di creare semplicemente il tuo codice in qualsiasi framework comune e caricare il tuo codice su lambda e viene eseguito. Esiste un lungo elenco di altri servizi che possono essere accoppiati con AWS lambda e fungere da trigger per richiamare la funzione lambda solo quando è richiesta. Non vi è alcun costo di funzionamento continuo del server, ma ti verrà addebitato in base al numero di trigger e al tempo di esecuzione del codice.