Een Lambda-functie wordt getriggerd door een SQS-wachtrij en roept een externe ML API aan die er tot 60 seconden over kan doen om te reageren. De Lambda-timeout is 65 seconden. De ontwikkelaar ziet dat de functie soms dubbele SQS-berichten verwerkt. Wat moet de ontwikkelaar veranderen zodat de functie geen duplicaten verwerkt?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Stel de visibility timeout van de SQS-wachtrij in op een waarde die groter is dan de maximale responstijd van de externe API..
Waarom dit het antwoord is
De correcte optie is om de visibility timeout van de SQS-wachtrij in te stellen op een waarde die groter is dan de maximale responstijd van de externe API. Wanneer een Lambda-functie een bericht van SQS ontvangt, wordt het bericht onzichtbaar gemaakt voor andere consumers gedurende de visibility timeout. Als de Lambda-functie de verwerking van het bericht niet binnen deze timeout voltooit en het bericht niet verwijdert, wordt het weer zichtbaar in de wachtrij en kan het opnieuw worden verwerkt, wat leidt tot duplicaten. Door de visibility timeout langer te maken dan de maximale verwerkingstijd (60 seconden in dit geval), krijgt de Lambda-functie voldoende tijd om de externe API aan te roepen en het bericht succesvol te verwerken en te verwijderen. Het verhogen van de geheugentoewijzing van de Lambda-functie is niet direct gerelateerd aan het probleem van dubbele verwerking, tenzij geheugen een bottleneck is die de verwerkingstijd onnodig verlengt. Het verhogen van de timeout-instelling van de Lambda-functie is al gedaan (65 seconden), maar dit lost het probleem van de SQS visibility timeout niet op. Het instellen van de delivery delay van de SQS-wachtrij is bedoeld om berichten pas na een bepaalde tijd beschikbaar te maken voor consumptie, niet om dubbele verwerking te voorkomen.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig