Elaborare i record DynamoDB con Lambda - 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à.

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.

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
  1. Aprire la pagina Functions (Funzioni) della console Lambda.

  2. Scegliere il nome della funzione.

  3. Quindi, seleziona la scheda Configuration (Configurazione) e poi Permissions (Autorizzazioni).

  4. In Nome del ruolo, scegli il link al tuo ruolo di esecuzione. Questo ruolo si apre nella console IAM.

    Link al ruolo di esecuzione
  5. Seleziona Aggiungi autorizzazioni, quindi seleziona Collega policy.

    Collegare le policy nella console IAM
  6. Inserisci AWSLambdaDynamoDBExecutionRole nel 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

  7. Torna alla funzione nella console Lambda. In Panoramica delle funzioni, scegliere Aggiungi trigger.

    Sezione di panoramica delle funzioni della console Lambda
  8. Scegliere un tipo di trigger.

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