Una funzione Lambda viene attivata da una coda SQS e chiama un'API ML di terze parti che può impiegare fino a 60 secondi per rispondere. Il timeout di Lambda è di 65 secondi. Lo sviluppatore nota che la funzione a volte elabora messaggi SQS duplicati. Cosa dovrebbe cambiare lo sviluppatore affinché la funzione non elabori duplicati?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Impostare il visibility timeout della coda SQS in modo che sia maggiore del tempo massimo di risposta dell'API di terze parti..
Perché questa è la risposta
La risposta corretta è impostare il visibility timeout della coda SQS in modo che sia maggiore del tempo massimo di risposta dell'API di terze parti. Quando una funzione Lambda elabora un messaggio da SQS, il messaggio rimane nella coda ma diventa invisibile per la durata del visibility timeout. Se la funzione Lambda non elimina il messaggio entro questo tempo, SQS lo rende nuovamente visibile e un'altra istanza Lambda potrebbe elaborarlo, causando duplicati. Poiché l'API di terze parti può impiegare fino a 60 secondi, il visibility timeout deve essere sufficientemente lungo (ad esempio, 65-70 secondi) per consentire alla funzione di completare l'elaborazione e eliminare il messaggio. Aumentare l'allocazione di memoria o il timeout della funzione Lambda non risolve il problema dei duplicati, poiché non influisce sul modo in cui SQS gestisce la visibilità dei messaggi. Il delivery delay (ritardo di consegna) di SQS ritarda la prima disponibilità di un messaggio, non la sua visibilità durante l'elaborazione.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta