Funkcja Lambda jest wyzwalana przez zdarzenia S3 i musi być uruchamiana za każdym razem, gdy w określonym buckecie pojawią się nowe lub zmodyfikowane obiekty. Funkcja odczytuje nazwę bucketa S3 i klucz obiektu z zdarzenia, aby pobrać zawartość obiektu, przetworzyć ją i zapisać wyniki w tabeli DynamoDB. Rola wykonawcza funkcji ma uprawnienia do odczytu z bucketa i zapisu do DynamoDB, ale podczas testowania funkcja nie uruchamia się, gdy obiekty są dodawane lub modyfikowane. Co rozwiąże ten problem?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Dodanie polityki opartej na zasobach do funkcji Lambda, która przyznaje Amazon S3 uprawnienia do wywołania funkcji dla określonego bucketa S3..
Dlaczego to jest odpowiedź
Poprawna odpowiedź to dodanie polityki opartej na zasobach do funkcji Lambda. Aby usługa S3 mogła wywołać funkcję Lambda w odpowiedzi na zdarzenia, potrzebuje uprawnień do tego działania. Polityka oparta na zasobach (Resource-based policy) na funkcji Lambda udziela S3 tych uprawnień, umożliwiając jej działanie jako źródło zdarzeń. Bez tej polityki S3 nie ma autoryzacji do wywołania funkcji, nawet jeśli funkcja ma odpowiednie uprawnienia wykonawcze. Zwiększenie pamięci lub miejsca w /tmp nie rozwiąże problemu z brakiem wywołania, ponieważ dotyczą one wydajności lub zasobów funkcji po jej uruchomieniu, a nie mechanizmu wyzwalania. Konfiguracja kolejki SQS jako miejsca docelowego OnFailure jest użyteczna do obsługi błędów po wywołaniu funkcji, a nie do rozwiązania problemu z jej brakiem uruchamiania.
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