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à.
In che modo Lambda elabora i record provenienti da fonti di eventi basate su stream e code
Una mappatura dell'origine degli eventi è una risorsa Lambda che legge gli elementi dai servizi basati su stream e code e richiama una funzione con batch di record. I seguenti servizi utilizzano le mappature delle sorgenti degli eventi per richiamare le funzioni Lambda:
avvertimento
Le mappature delle sorgenti degli eventi Lambda elaborano ogni evento almeno una volta e può verificarsi un'elaborazione duplicata dei record. Per evitare potenziali problemi legati agli eventi duplicati, ti consigliamo vivamente di rendere idempotente il codice della funzione. Per ulteriori informazioni, consulta Come posso rendere idempotente la mia funzione Lambda
In che modo le mappature delle sorgenti degli eventi differiscono dai trigger diretti
Alcuni AWS servizi possono richiamare direttamente le funzioni Lambda utilizzando i trigger. Questi servizi inviano eventi a Lambda e la funzione viene richiamata immediatamente quando si verifica l'evento specificato. I trigger sono adatti per eventi discreti ed elaborazione in tempo reale. Quando crei un trigger utilizzando la console Lambda, la console interagisce con il AWS servizio corrispondente per configurare la notifica degli eventi su quel servizio. Il trigger viene effettivamente archiviato e gestito dal servizio che genera gli eventi, non da Lambda. Ecco alcuni esempi di servizi che utilizzano i trigger per richiamare le funzioni Lambda:
-
Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3): richiama una funzione quando un oggetto viene creato, eliminato o modificato in un bucket. Per ulteriori informazioni, consulta Tutorial: uso di un trigger Amazon S3 per richiamare una funzione Lambda.
-
Amazon Simple Notification Service (Amazon SNS): richiama una funzione quando un messaggio viene pubblicato su un argomento SNS. Per ulteriori informazioni, consulta Tutorial: Utilizzo AWS Lambda con Amazon Simple Notification Service.
-
Amazon API Gateway: richiama una funzione quando viene effettuata una richiesta API a un endpoint specifico. Per ulteriori informazioni, consulta Richiamo di una funzione Lambda utilizzando un endpoint Amazon API Gateway.
Le mappature delle sorgenti degli eventi sono risorse Lambda create e gestite all'interno del servizio Lambda. Le mappature delle sorgenti degli eventi sono progettate per l'elaborazione di dati o messaggi in streaming ad alto volume dalle code. L'elaborazione dei record da uno stream o da una coda in batch è più efficiente rispetto all'elaborazione dei record singolarmente.
Comportamento di batching
Per impostazione predefinita, una mappatura delle origini eventi raggruppa i registri in un unico payload che Lambda invia alla funzione. Per ottimizzare il comportamento di batch, è possibile configurare una finestra di batch (MaximumBatchingWindowInSecondi) e una dimensione del batch (). BatchSize Una finestra di batch è il tempo massimo per la raccolta dei registri in un singolo payload. La dimensione del batch è il numero massimo di registri in un singolo batch. Lambda richiama la funzione in presenza dei tre criteri seguenti:
-
La finestra di dosaggio raggiunge il valore massimo. Il comportamento predefinito della finestra di batch varia a seconda dell'origine specifica dell'evento.
Per le origini eventi Kinesis, DynamoDB e Amazon SQS: la finestra di batch di default è 0 secondi. Ciò significa che Lambda invia i batch alla tua funzione solo quando viene soddisfatta la dimensione del batch o viene raggiunto il limite di dimensione del payload. Per impostare una finestra di batch, configura.
MaximumBatchingWindowInSeconds
È possibile impostare questo parametro su qualsiasi valore compreso tra 0 e 300 secondi con incrementi di 1 secondo. Se si configura una finestra di batch, la finestra successiva inizia non appena viene completata la precedente chiamata della funzione.Per le origini degli eventi di Amazon MSK, Apache Kafka autogestito, Amazon MQ e Amazon DocumentDB la finestra di batch predefinita è 500 ms. È possibile configurare
MaximumBatchingWindowInSeconds
su qualsiasi valore da 0 secondi a 300 secondi con incrementi di secondi. Una finestra di batch inizia non appena arriva il primo registro.Nota
Poiché è possibile modificare solo
MaximumBatchingWindowInSeconds
in incrementi di secondi, non è possibile tornare alla finestra di batch predefinita di 500 ms dopo averla modificata. Per ripristinare la finestra di batch predefinita, è necessario creare una nuova mappatura dell'origine eventi.
-
Le dimensioni del batch sono soddisfatte. La dimensione minima del batch è 1. La dimensione predefinita e massima del batch dipendono dall'origine eventi. Per i dettagli su questi valori, consulta le BatchSizespecifiche per il funzionamento dell'
CreateEventSourceMapping
API. -
La dimensione del payload raggiunge 6 MB. Tale limite non è modificabile.
Il diagramma seguente illustra queste tre configurazioni. Supponiamo che una finestra di batch inizi a t = 7
secondi. Nel primo scenario, la finestra di batch raggiunge il suo massimo di 40 secondi a t = 47
secondi dopo aver accumulato 5 registri. Nel secondo scenario, la dimensione del batch raggiunge 10 prima della scadenza della finestra di batch, quindi la finestra di batch termina in anticipo. Nel secondo scenario, il valore massimo del payload viene raggiunta prima della scadenza della finestra di batch, quindi la finestra di batch termina in anticipo.
![Una finestra di batch scade quando viene soddisfatto uno dei tre criteri seguenti: la finestra di batch raggiunge il valore massimo, la dimensione del batch viene raggiunta o la dimensione del payload raggiunge i 6 MB.](images/batching-window.png)
API della mappatura dell'origine eventi
Per gestire un'origine eventi con la AWS Command Line Interface (AWS CLI) o un SDK AWS