Un desarrollador utiliza AWS SAM para crear un prototipo de una función Lambda. El AWS::Serverless::Function de la plantilla SAM tiene CodeUri apuntando a una ubicación de S3. El desarrollador empaquetó la función como package.zip, la subió a la ubicación de S3 y ejecutó sam deploy. Después de actualizar el código de la función y repetir los mismos pasos (subir a la misma clave de S3), sam deploy falla diciendo "no changes to deploy". ¿Qué enfoques implementarán el código actualizado? (Elija dos).
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Cambie la propiedad CodeUri para que apunte a la carpeta de código local y ejecute sam deploy., Cambie la propiedad CodeUri para que apunte a la carpeta de código local, ejecute aws cloudformation package para subir los artefactos a S3, luego use aws cloudformation deploy..
Por qué esta es la respuesta
Cuando CodeUri apunta a una ubicación de S3 y el contenido de S3 no cambia (misma clave, mismo archivo), CloudFormation asume que no hay cambios en el código y sam deploy (que usa CloudFormation internamente) no realiza ninguna actualización. La opción "Cambie la propiedad CodeUri para que apunte a la carpeta de código local y ejecute sam deploy" es correcta porque sam deploy automáticamente empaquetará el código local, lo subirá a una nueva ubicación de S3 (con un nombre de objeto único) y actualizará la plantilla de CloudFormation para apuntar a esa nueva ubicación, lo que CloudFormation detectará como un cambio. La opción "Cambie la propiedad CodeUri para que apunte a la carpeta de código local, ejecute aws cloudformation package para subir los artefactos a S3, luego use aws cloudformation deploy" es correcta porque aws cloudformation package subirá el código local a S3, generando un nuevo S3 URI en la plantilla empaquetada. Luego, aws cloudformation deploy (o aws cloudformation create-change-set y execute-change-set) detectará este cambio en el S3 URI y actualizará la función Lambda. Las opciones que usan aws cloudformation update-stack o update-stack-instances directamente no son suficientes porque el problema radica en que CloudFormation no detecta un cambio en el CodeUri si la referencia de S3 no cambia.
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta