Elaborare i record DynamoDB con Lambda - AWS Lambda

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 dai flussi DynamoDB, collega la policy gestita da AWS AWSLambdaDynamoDBExecutionRole al tuo ruolo di esecuzione, 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 nel campo di ricerca AWSLambdaDynamoDBExecutionRole. Aggiungi questa policy al tuo ruolo di esecuzione. Questa è una policy gestita da AWS che contiene le autorizzazioni di cui ha bisogno la funzione per leggere da un flusso DynamoDB. Per ulteriori informazioni su questa policy, consulta AWSLambdaDynamoDBExecutionRole nella Guida di riferimento della policy gestita da 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 verrà addebitato alcun costo per le chiamate API GetRecords invocate da Lambda come parte dei trigger DynamoDB.

Per gestire la configurazione dell'origine eventi in un momento successivo, scegliere il trigger nel designer.