Een bedrijf slaat verkoopgegevens op in een DynamoDB-tabel met ingeschakelde DynamoDB Streams. Elk item heeft een TransactionStatus-attribuut met de waarden failed, pending of completed. Het bedrijf wil een melding ontvangen voor mislukte verkopen waarbij de Price een drempel overschrijdt. Welke aanpak vereist de minste ontwikkelingsinspanning om deze melding in te stellen?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Maak een event source mapping van DynamoDB Streams naar een Lambda-functie en gebruik Lambda event filtering zodat de functie alleen wordt aangeroepen voor mislukte verkopen waarvan de Price boven de drempel ligt. Laat de functie publiceren naar een Amazon SNS topic..
Waarom dit het antwoord is
De correcte optie is het meest efficiënt omdat het gebruikmaakt van Lambda event filtering. Deze functionaliteit filtert de gebeurtenissen al voordat de Lambda-functie wordt aangeroepen, wat betekent dat de functie alleen wordt uitgevoerd voor relevante items (mislukte verkopen met een prijs boven de drempel). Dit vermindert de uitvoeringskosten en de complexiteit van de Lambda-code, aangezien de filterlogica niet in de functie zelf hoeft te worden geïmplementeerd. De functie hoeft dan alleen nog de melding naar Amazon SNS te sturen. De andere opties zijn minder optimaal: Het implementeren van de filterlogica in de Lambda-handler (tweede optie) betekent dat de Lambda-functie voor elke stream-gebeurtenis wordt aangeroepen, wat hogere kosten en meer codeonderhoud met zich meebrengt. Het rechtstreeks koppelen van DynamoDB Streams aan SNS met filtering (derde optie) is niet mogelijk, omdat DynamoDB Streams geen ingebouwde filtering heeft die direct naar SNS kan publiceren op basis van itemattributen. CloudWatch-alarmen (vierde optie) zijn bedoeld voor het monitoren van metrics en logs, niet voor het direct filteren van datastream-inhoud op deze gedetailleerde manier.
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