Разработчик использует AWS SAM для прототипирования функции Lambda. В шаблоне SAM AWS::Serverless::Function свойство CodeUri указывает на расположение S3. Разработчик упаковал функцию как package.zip, загрузил ее в расположение S3 и запустил sam deploy. После обновления кода функции и повторения тех же шагов (загрузка по тому же ключу S3) sam deploy завершается с ошибкой «no changes to deploy». Какие подходы позволят развернуть обновленный код? (Выберите два.)
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Изменить свойство CodeUri, чтобы оно указывало на локальную папку с кодом, и запустить sam deploy., Изменить свойство CodeUri, чтобы оно указывало на локальную папку с кодом, запустить aws cloudformation package для загрузки артефактов в S3, затем использовать aws cloudformation deploy..
Почему это правильный ответ
Проблема возникает из-за того, что при использовании CodeUri, указывающего на S3, AWS CloudFormation не обнаруживает изменений, если ключ объекта S3 остается прежним, даже если содержимое файла package.zip обновилось. CloudFormation сравнивает только метаданные шаблона. Правильные подходы: 1. Изменить CodeUri на локальную папку и запустить sam deploy: sam deploy автоматически упаковывает локальный код, загружает его в S3 с новым уникальным именем файла (или обновляет существующий, если это настроено) и обновляет шаблон CloudFormation, указывая на новый артефакт. Это заставляет CloudFormation обнаружить изменение. 2. Использовать aws cloudformation package и aws cloudformation deploy: aws cloudformation package выполняет ту же функцию, что и sam deploy в отношении упаковки и загрузки артефактов в S3 с уникальными именами, а затем aws cloudformation deploy развертывает обновленный шаблон. Неправильные варианты: aws cloudformation update-stack или aws cloudformation update-stack-instances не решат проблему, так как они работают с уже существующим шаблоном и не переупаковывают код. Изменение CodeUri на локальную папку, а затем создание и выполнение набора изменений CloudFormation вручную не является полным решением, так как это не включает автоматическую упаковку и загрузку кода в S3, что является ключевым шагом.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется