Deweloper używa AWS SAM do prototypowania funkcji Lambda. W szablonie SAM, AWS::Serverless::Function ma CodeUri wskazujące na lokalizację S3. Deweloper spakował funkcję jako package.zip, przesłał ją do lokalizacji S3 i uruchomił sam deploy. Po zaktualizowaniu kodu funkcji i powtórzeniu tych samych kroków (przesłanie do tego samego klucza S3), sam deploy kończy się niepowodzeniem z komunikatem „no changes to deploy”. Które podejścia wdrożą zaktualizowany kod? (Wybierz dwie odpowiedzi.)
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: Zmień właściwość CodeUri, aby wskazywała na lokalny folder kodu i uruchom sam deploy., Zmień właściwość CodeUri, aby wskazywała na lokalny folder kodu, uruchom aws cloudformation package, aby przesłać artefakty do S3, a następnie użyj aws cloudformation deploy..
Dlaczego to jest odpowiedź
Problem wynika z tego, że AWS SAM (a właściwie CloudFormation) nie wykrywa zmian, gdy CodeUri wskazuje na ten sam klucz S3, ponieważ zakłada, że zawartość jest niezmieniona. Pierwsze poprawne podejście: Zmiana CodeUri na lokalny folder kodu pozwala sam deploy automatycznie spakować i przesłać kod do S3, a następnie zaktualizować funkcję Lambda. SAM CLI zarządza procesem pakowania i przesyłania do S3. Drugie poprawne podejście: Zmiana CodeUri na lokalny folder kodu w szablonie, a następnie użycie aws cloudformation package do spakowania i przesłania kodu do S3, po czym aws cloudformation deploy do wdrożenia, to ręczny odpowiednik tego, co robi sam deploy. Jest to bardziej szczegółowy proces, ale osiąga ten sam cel. Opcja z aws cloudformation update-stack nie zadziała, ponieważ CloudFormation nadal nie wykryje zmiany w CodeUri, jeśli klucz S3 pozostaje ten sam. aws cloudformation update-stack-instances jest przeznaczone do zarządzania instancjami zestawów stosów (StackSets), a nie do aktualizacji kodu funkcji Lambda. Opcja z tworzeniem i wykonywaniem zestawu zmian CloudFormation również nie rozwiąże problemu, jeśli CodeUri nadal wskazuje na ten sam klucz S3.
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