Un développeur utilise AWS SAM pour prototyper une fonction Lambda. La propriété CodeUri de la ressource AWS::Serverless::Function du modèle SAM pointe vers un emplacement S3. Le développeur a packagé la fonction sous forme de package.zip, l'a téléchargée vers l'emplacement S3 et a exécuté sam deploy. Après avoir mis à jour le code de la fonction et répété les mêmes étapes (téléchargement vers la même clé S3), sam deploy échoue en indiquant « no changes to deploy ». Quelles approches permettront de déployer le code mis à jour ? (Choisissez-en deux.)
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Modifier la propriété CodeUri pour qu'elle pointe vers le dossier de code local et exécuter sam deploy., Modifier la propriété CodeUri pour qu'elle pointe vers le dossier de code local, exécuter aws cloudformation package pour télécharger les artefacts vers S3, puis utiliser aws cloudformation deploy..
Pourquoi c'est la réponse
Lorsque CodeUri pointe vers un emplacement S3 et que le contenu du fichier S3 est mis à jour sans changer la clé ou la version de l'objet, CloudFormation (et donc sam deploy) ne détecte pas de modification dans le modèle, car la référence CodeUri reste la même. La première approche correcte consiste à modifier CodeUri pour qu'il pointe vers le dossier de code local. sam deploy va alors automatiquement packager le code, le télécharger vers un nouvel emplacement S3 (avec une nouvelle clé ou version) et mettre à jour la pile CloudFormation. La deuxième approche correcte implique de pointer CodeUri vers le dossier local, d'utiliser aws cloudformation package pour empaqueter le code et le télécharger vers S3, puis d'utiliser aws cloudformation deploy (qui est l'équivalent de sam deploy pour les modèles CloudFormation) pour déployer les modifications. aws cloudformation package générera un nouveau modèle avec une référence S3 mise à jour, permettant à CloudFormation de détecter le changement. Les options incorrectes ne résolvent pas le problème de détection de changement ou utilisent des commandes inappropriées (update-stack-instances est pour les ensembles de piles).
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise