Funzionalità Lambda aggiuntive - AWS Lambda

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

Funzionalità Lambda aggiuntive

Lambda fornisce una console di gestione e un'API per la gestione e l'invocazione di funzioni. Fornisce runtime che supportano un set standard di caratteristiche, in modo da poter passare facilmente da linguaggi a framework a seconda delle esigenze. Oltre alle funzioni, puoi anche creare versioni, alias, livelli e runtime personalizzati.

Dimensionamento

Lambda gestisce l'infrastruttura che esegue il codice, si dimensiona automaticamente in risposta alle richieste in entrata. Quando la funzione viene invocata più rapidamente di quanto una singola istanza della funzione possa elaborare eventi, Lambda si dimensiona eseguendo istanze aggiuntive. Quando il traffico diminuisce, le istanze inattive vengono congelate o interrotte. Paghi solo per il tempo impiegato dalla tua funzione a inizializzare o elaborare gli eventi.

Per ulteriori informazioni, consulta Dimensionamento della funzione Lambda.

Controlli di simultaneità

Utilizzare le impostazioni di simultaneità per garantire che le applicazioni di produzione abbiano disponibilità e reattività elevate.

Per impedire a una funzione di utilizzare troppa simultaneità e per riservare una parte della simultaneità disponibile dell'account per una funzione, utilizzare la simultaneità riservata. La simultaneità riservata divide il pool di simultaneità disponibile in sottoinsiemi. Una funzione con simultaneità riservata utilizza solo la simultaneità dal suo sottoinsieme dedicato.

Per abilitare il dimensionamento delle funzioni senza fluttuazioni della latenza, utilizzare la simultaneità fornita. Per le funzioni che richiedono molto tempo per l'inizializzazione o che necessitano di una latenza estremamente bassa per tutte le invocazioni, la simultaneità fornita consente di preinizializzare le istanze della funzione e mantenerle in esecuzione in ogni momento. Lambda si integra con Application Auto Scaling per supportare la scalabilità automatica per la concorrenza di provisioning in base all'utilizzo.

Per ulteriori informazioni, consulta Configurazione della simultaneità riservata.

URL della funzione

Lambda offre il supporto degli endpoint HTTP(S) integrato tramite URL della funzione. Con gli URL della funzione, è possibile assegnare un endpoint HTTP dedicato alla funzione Lambda. Quando l'URL della funzione è configurato, è possibile utilizzarlo per invocare la funzione tramite un browser Web, curl, Postman o un client HTTP.

È possibile aggiungere un URL di funzione a una funzione esistente o creare una nuova funzione con un URL di funzione. Per ulteriori informazioni, consulta Richiamo di URL di funzioni Lambda.

Invocazione asincrona

Quando si invoca una funzione, è possibile scegliere di invocarla in modo sincrono o asincrono. Con l'invocazione sincrona, è necessario attendere che la funzione elabori l'evento e restituisca una risposta. Con l'invocazione asincrona, Lambda accoda l'evento per l'elaborazione e restituisce una risposta immediatamente.


        Lambda accoda gli eventi di invocazione asincrona prima di inviarli alla funzione.

Per le invocazioni asincrone, Lambda gestisce i nuovi tentativi se la funzione restituisce un errore o è sottoposta a throttling. Per personalizzare questo comportamento, puoi configurare le impostazioni di gestione degli errori per una funzione, una versione o un alias. È inoltre possibile configurare Lambda per inviare gli eventi che non sono stati elaborati in una coda DLQ o per inviare un record di qualsiasi invocazione a una destinazione.

Per ulteriori informazioni, consulta Invocazione asincrona.

Mappatura delle origini di eventi

Per elaborare gli elementi da un flusso o una coda, è possibile creare una mappatura delle origini eventi. Una mappatura origine evento è una risorsa in Lambda che legge gli elementi da una coda Amazon Simple Queue Service (Amazon SQS), un flusso Amazon Kinesis o un flusso Amazon DynamoDB e li invia alla funzione in batch. Ogni evento che la funzione elabora può contenere centinaia o migliaia di elementi.


        Un'origine evento che esegue il mapping dei record di lettura da un flusso Kinesis.

Le mappature delle origini eventi gestiscono una coda locale di elementi non elaborati e gestiscono i nuovi tentativi se la funzione restituisce un errore o viene limitata. È possibile configurare una mappatura delle origini eventi per personalizzare il comportamento di invio in batch e la gestione degli errori o per inviare a una destinazione un record di elementi che non sono stati elaborati.

Per ulteriori informazioni, consulta Mappatura dell'origine evento Lambda.

Destinazioni

Una destinazione è una risorsa AWS che riceve i record di invocazione per una funzione. Per le chiamate asincrone, puoi configurare Lambda per l'invio dei record di invocazione a una coda, un argomento, una funzione o un bus di eventi. Puoi configurare destinazioni separate per le invocazioni riuscite e gli eventi che non sono stati elaborati. Il record di invocazione contiene i dettagli sull'evento, la risposta della funzione e il motivo per cui il record è stato inviato.


        Lambda invia i record di invocazione a una destinazione coda o bus di eventi, a seconda del risultato.

Per le mappature dell'origine evento che leggono dai flussi, puoi configurare Lambda per l'invio di un record dei batch che non sono stati elaborati a una coda o un argomento. Un record di errore per una mappatura dell'origine eventi contiene i metadati relativi al batch e punta agli elementi nel flusso.

Per ulteriori informazioni, consulta Configurazione delle destinazioni per l'invocazione asincrona e le sezioni relative alla gestione degli errori di Utilizzo AWS Lambda con Amazon DynamoDB e Utilizzo AWS Lambda con Amazon Kinesis.

Piani delle funzioni

Quando si crea una funzione nella console Lambda, è possibile scegliere di iniziare da zero, utilizzare uno schema o un'immagine di container. Un blueprint fornisce codice di esempio che mostra come utilizzare Lambda con un servizio AWS o una comune applicazione di terze parti. I piani includono il codice di esempio e la configurazione della funzione preimpostati per i runtime Node.js e Python.

I blueprint sono forniti per l'uso con la licenza Amazon Software License. Sono disponibili solo nella console Lambda.

Strumenti di test e distribuzione

Lambda supporta l'implementare del codice così com'è o come immagini di container. Puoi utilizzare i servizi AWS e gli strumenti diffusi della community come l'interfaccia a riga di comando (CLI) Docker per creare, compilare e implementare le funzioni Lambda. Per configurare la CLI Docker, consulta la pagina Get Docker (Ottieni Docker) sul sito Web Docker Docs. Per un'introduzione all'utilizzo di Docker con AWS, consultare Getting started with Amazon ECR using the AWS CLI (Nozioni di base di Amazon ECR utilizzando nella Guida per l'utente di Amazon Elastic Container Registry.

La AWS CLI e la CLI di AWS SAM SAM sono gli strumenti a riga di comando per la gestione degli stack di applicazioni Lambda. Oltre ai comandi per la gestione degli stack di applicazioni con l'API AWS CloudFormation, AWS CLI supporta i comandi di livello più elevato che semplificano le attività quali il caricamento di pacchetti di implementazione e l'aggiornamento dei modelli. AWS SAM CLI fornisce funzionalità aggiuntive, tra le quali la convalida dei modelli, il test in locale e l'integrazione con i sistemi CI/CD.

Modelli di applicazione

Puoi utilizzare la console Lambda per creare un'applicazione con una pipeline di distribuzione continua. I modelli di applicazione nella console Lambda AWS includono il codice per una o più funzioni, un modello di applicazione che definisce le funzioni e le risorse AWS CodePipeline di supporto e un modello di infrastruttura che definisce una pipeline . La pipeline ha fasi di compilazione e distribuzione che vengono eseguite ogni volta che si eseguono modifiche al repository Git incluso.

I modelli di applicazione sono forniti per l'uso con la licenza MIT No Attribution. Sono disponibili solo nella console Lambda.

Per ulteriori informazioni, consulta Creazione di un'applicazione con distribuzione continua nella console Lambda.