Voglio creare un trigger AWS Lambda per elaborare un flusso da una tabella globale di Amazon DynamoDB.
Risoluzione
Una tabella globale di DynamoDB è una raccolta di repliche tra regioni in un unico account. Le tabelle globali utilizzano i flussi DynamoDB per replicare i dati in diverse regioni. Quando crei una replica per una tabella globale, per impostazione predefinita viene creato un flusso. Eventuali modifiche a una replica vengono applicate a tutte le altre repliche all'interno della stessa tabella globale entro un secondo tramite DynamoDB Streams.
Nota: la presenza di un singolo consumer su una delle repliche di tabelle globali in una qualsiasi regione è sufficiente per recuperare i record di modifica per tutti gli elementi.
Puoi configurare un trigger AWS Lambda per elaborare un flusso da una replica di tabella globale effettuando le seguenti operazioni:
- Assicurati che AWSLambdaDynamoDBExecutionRole disponga delle autorizzazioni di AWS Identity and Access Management (IAM) necessarie.
Nota: per impostazione predefinita, la policy IAM AWSLambdaDynamoDBExecutionRole non dispone delle autorizzazioni per consentire a Lambda di comunicare con altri servizi, ad esempio il servizio di notifica semplice Amazon (Amazon SNS). Ciò significa che è necessario aggiungere le autorizzazioni aggiuntive richieste in base alla destinazione Lambda.
- Crea una funzione Lambda utilizzando lo schema dynamodb-process-stream. Puoi modificare il codice Lambda in base alle tue esigenze per elaborare i dati del flusso.
- Dopo aver creato correttamente la funzione Lambda, apri la console DynamoDB e seleziona la replica della tabella globale. Nella scheda Exports and streams (Esportazioni e flussi), scegli Crea trigger (Create trigger). Quindi, seleziona la funzione Lambda creata nel passaggio precedente. Assicurati di selezionare Enable trigger (Abilita trigger) in modo che il trigger venga attivato dopo la sua creazione.
La funzione Lambda è ora configurata come trigger per la replica della tabella globale. Eventuali modifiche alla replica vengono acquisite dal flusso e il trigger viene richiamato.
Informazioni correlate
Flussi DynamoDB e trigger AWS Lambda