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à.
Elaborare i record DynamoDB con Lambda
Crea una mappatura dell'origine eventi per indicare a Lambda di inviare i record dal proprio flusso a una funzione Lambda. È possibile creare più mappature dell'origine eventi per elaborare gli stessi dati con più funzioni Lambda o per elaborare elementi da più flussi con una singola funzione.
È possibile configurare gli strumenti di mappatura dell'origine degli eventi per elaborare i record da un flusso in un altro Account AWS. Per ulteriori informazioni, consulta Creazione di uno strumento di mappatura dell'origine degli eventi multi-account.
Per configurare la tua funzione per la lettura da DynamoDB Streams, collega la policy gestita di DBExecutionDynamo Role AWSLambda al tuo AWS ruolo di esecuzione e quindi crea un trigger DynamoDB.
Per aggiungere le autorizzazioni e creare un trigger
Aprire la pagina Functions
(Funzioni) della console Lambda. -
Scegliere il nome della funzione.
-
Quindi, seleziona la scheda Configuration (Configurazione) e poi Permissions (Autorizzazioni).
-
In Nome del ruolo, scegli il link al tuo ruolo di esecuzione. Questo ruolo si apre nella console IAM.
-
Seleziona Aggiungi autorizzazioni, quindi seleziona Collega policy.
-
Inserisci
AWSLambdaDynamoDBExecutionRolenel campo di ricerca. Aggiungi questa policy al tuo ruolo di esecuzione. Si tratta di una policy AWS gestita che contiene le autorizzazioni che la funzione deve leggere dal flusso DynamoDB. Per ulteriori informazioni su questa politica, consulta AWSLambdaDynamo DBExecution Role nel Managed Policy Reference.AWS -
Torna alla funzione nella console Lambda. In Panoramica delle funzioni, scegliere Aggiungi trigger.
-
Scegliere un tipo di trigger.
-
Configurare le opzioni richieste, quindi scegliere Add (Aggiungi).
Lambda supporta le seguenti opzioni per le origini eventi DynamoDB:
Opzioni di origine eventi
-
DynamoDB table (Tabella DynamoDB): la tabella DynamoDB da cui leggere i record.
-
Batch size (Dimensione batch): il numero di record da inviare alla funzione in ogni batch, fino a 10.000. Lambda passa tutti i record del batch alla funzione in una singola chiamata, purché la dimensione totale degli eventi non superi il limite di payload per l'invocazione sincrona (6 MB).
Batch window (Periodo di batch): specifica il tempo massimo in secondi per la raccolta dei record prima di richiamare la funzione.
-
Starting position (Posizione iniziale): elabora solo i nuovi record o tutti i record esistenti.
-
Latest (Ultimi): consente di elaborare i nuovi record aggiunti al flusso.
-
Trim Horizon (Orizzonte di taglio): elabora tutti i record contenuti nel flusso.
Dopo l'elaborazione di qualsiasi record esistente, la funzione è aggiornata e continua a elaborare nuovi record.
-
Destinazione in caso di errore: una coda SQS standard o un argomento SNS standard per i record che non è possibile elaborare. Quando Lambda scarta un batch di record perché è troppo datato o ha esaurito tutti i tentativi, invia i dettagli sul batch alla coda o all'argomento.
Retry attempts (Nuovi tentativi): il numero massimo di tentativi che Lambda effettua quando la funzione restituisce un errore. Non si applica agli errori di servizio o alle limitazioni in cui il batch non ha raggiunto la funzione.
Maximum age of record (Età massima del record): l'età massima di un record inviato da Lambda alla funzione.
Split batch on error (Dividi batch in caso di errore): quando la funzione restituisce un errore, divide il batch in due prima di un nuovo tentativo. L'impostazione originale delle dimensioni del batch rimane invariata.
Batch simultanei per shard: elabora più batch dallo stesso shard simultaneamente.
-
Enabled (Abilitato): impostare su true per abilitare la mappatura dell'origine eventi. Impostare su false per interrompere l'elaborazione dei record. Lambda registra l'ultimo record elaborato e riprende l'elaborazione da quel punto quando la mappatura viene riabilitata.
Nota
Non ti vengono addebitati costi per le chiamate GetRecords API richiamate da Lambda come parte dei trigger di DynamoDB.
Per gestire la configurazione dell'origine eventi in un momento successivo, scegliere il trigger nel designer.
Creazione di uno strumento di mappatura dell'origine degli eventi multi-account
Amazon DynamoDB ora supporta policy basate sulle risorse. Con questa funzionalità, puoi elaborare i dati da un flusso DynamoDB in uno Account AWS con una funzione Lambda in un altro account.
Per creare una mappatura delle sorgenti degli eventi per la tua funzione Lambda utilizzando un flusso DynamoDB in un Account AWS altro, devi configurare il flusso utilizzando una policy basata sulle risorse per concedere alla funzione Lambda il permesso di leggere i record. Per informazioni su come configurare lo stream per l'accesso tra account diversi, consulta Condividi l'accesso con le funzioni Lambda tra account nella Amazon DynamoDB Developer Guide.
Dopo aver configurato lo stream con una policy basata sulle risorse che fornisce alla funzione Lambda le autorizzazioni richieste, crea la mappatura delle sorgenti degli eventi con il tuo ARN del flusso tra account. Puoi trovare l'ARN dello stream nella scheda Esportazioni e flussi della tabella nella console DynamoDB per più account.
Quando usi la console Lambda, incolla l'ARN dello stream direttamente nel campo di input della tabella DynamoDB nella pagina di creazione della mappatura delle sorgenti degli eventi.
Nota: i trigger interregionali non sono supportati.