Aplikacja odczytuje elementy z tabeli DynamoDB, gdzie każdy element ma atrybut sygnatury czasowej expirationDate. Aplikacja znajduje elementy według tej sygnatury czasowej, aby je zarchiwizować, a następnie usunąć. Aplikacja zostanie wkrótce wycofana, a deweloper potrzebuje zamiennika o niskim kodzie dla tego zachowania. Które podejście wymaga najmniejszej ilości nowego kodu?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Włącz DynamoDB TTL dla atrybutu expirationDate. Włącz strumień DynamoDB i utwórz funkcję Lambda, wyzwalaną przez strumień, do przetwarzania usuniętych elementów..
Dlaczego to jest odpowiedź
Włączenie DynamoDB TTL (Time to Live) dla atrybutu expirationDate automatycznie usuwa elementy z tabeli po upływie określonego czasu, co eliminuje potrzebę pisania kodu do usuwania. Strumienie DynamoDB rejestrują te usunięcia, a funkcja Lambda wyzwalana przez strumień może przetwarzać te zdarzenia, np. archiwizując dane. To podejście jest niskokodowe, ponieważ AWS zarządza usuwaniem, a Lambda reaguje na zdarzenia. Pozostałe opcje wymagają pisania dodatkowego kodu: Tworzenie dwóch funkcji Lambda do usuwania i przetwarzania, a także ręczne używanie DeleteItem, zwiększa złożoność kodu. Użycie reguły EventBridge do wywoływania funkcji Lambda również wymaga ręcznego zarządzania logiką usuwania i przetwarzania. Konfiguracja kolejki SQS dead-letter queue dla TTL nie jest standardowym zastosowaniem i nie zapewnia mechanizmu do przetwarzania usuniętych elementów w sposób automatyczny i niskokodowy.
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