Funkcja Lambda odczytuje rekordy ze strumienia danych Kinesis i przekazuje je do starszego interfejsu REST API. Około 10% rekordów zawiera błędy danych i wymaga ręcznej obsługi. Funkcja Lambda ma skonfigurowaną kolejkę SQS dead-letter queue (DLQ) dla miejsc docelowych w przypadku awarii, przetwarza rekordy w partiach i ma logikę ponawiania. Podczas testów wiele rekordów bez błędów, które zostały już przetworzone, pojawia się w DLQ. Jaka zmiana opcji źródła zdarzeń zmniejszy liczbę bezbłędnych rekordów trafiających do DLQ?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Włączenie dzielenia partii w przypadku wystąpienia błędu (aby błędne rekordy były izolowane)..
Dlaczego to jest odpowiedź
Włączenie dzielenia partii w przypadku wystąpienia błędu (ReportBatchItemFailures) to kluczowe rozwiązanie. Domyślnie, jeśli jakikolwiek rekord w partii Kinesis spowoduje błąd funkcji Lambda, cała partia jest traktowana jako nieprzetworzona i może zostać ponowiona, a ostatecznie trafić do DLQ, nawet jeśli większość rekordów została przetworzona poprawnie. Włączenie tej opcji pozwala funkcji Lambda wskazać, które konkretne rekordy w partii zakończyły się niepowodzeniem. Kinesis ponowi próbę przetworzenia tylko tych błędnych rekordów, a nie całej partii, co znacznie zmniejsza liczbę poprawnych rekordów trafiających do DLQ. Zwiększenie liczby prób ponowienia jedynie opóźniłoby trafienie rekordów do DLQ. Zwiększenie liczby współbieżnych partii na shard nie rozwiązuje problemu błędów w partii. Zmniejszenie maksymalnego wieku rekordu nie wpływa na logikę obsługi błędów w partii.
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