Firma przechowuje dane sprzedażowe w tabeli DynamoDB z włączoną funkcją DynamoDB Streams. Każdy element ma atrybut TransactionStatus z wartościami failed, pending lub completed. Firma chce otrzymywać powiadomienia o nieudanych transakcjach sprzedaży, w których Price przekracza określony próg. Które podejście wymaga najmniejszego wysiłku rozwojowego w celu skonfigurowania tego powiadomienia?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Utwórz mapowanie źródła zdarzeń (event source mapping) z DynamoDB Streams do funkcji Lambda i użyj filtrowania zdarzeń Lambda, aby funkcja była wywoływana tylko dla nieudanych transakcji sprzedaży, których Price jest powyżej progu. Niech funkcja publikuje do tematu Amazon SNS..
Dlaczego to jest odpowiedź
Poprawna odpowiedź minimalizuje wysiłek rozwojowy, wykorzystując wbudowane filtrowanie zdarzeń Lambda. Mapowanie źródła zdarzeń DynamoDB Streams do funkcji Lambda z filtrowaniem pozwala na wywołanie funkcji tylko dla interesujących nas rekordów (TransactionStatus = 'failed' i Price próg). Funkcja Lambda będzie wtedy prosta – jedynie publikować wiadomość do tematu Amazon SNS. Opcja z implementacją logiki filtrowania w handlerze Lambda wymaga większego wysiłku, ponieważ funkcja będzie wywoływana dla wszystkich zdarzeń ze strumienia, a następnie będzie musiała samodzielnie odfiltrować nieistotne. Opcja bezpośredniego mapowania DynamoDB Streams do Amazon SNS nie jest możliwa, ponieważ DynamoDB Streams nie może bezpośrednio publikować do SNS z filtrowaniem na poziomie atrybutów elementu. Opcja z alarmem CloudWatch jest nieodpowiednia, ponieważ CloudWatch monitoruje metryki, a nie bezpośrednio zawartość strumienia danych DynamoDB Streams w celu filtrowania na podstawie atrybutów elementu.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana