Uno sviluppatore usa AWS SAM per prototipare una funzione Lambda. La proprietà CodeUri del template SAM AWS::Serverless::Function punta a una posizione S3. Lo sviluppatore ha pacchettizzato la funzione come package.zip, l'ha caricata nella posizione S3 e ha eseguito sam deploy. Dopo aver aggiornato il codice della funzione e aver ripetuto gli stessi passaggi (caricando nella stessa chiave S3), sam deploy fallisce con il messaggio "no changes to deploy". Quali approcci distribuiranno il codice aggiornato? (Scegliere due.)
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Modificare la proprietà CodeUri in modo che punti alla cartella del codice locale ed eseguire sam deploy., Modificare la proprietà CodeUri in modo che punti alla cartella del codice locale, eseguire aws cloudformation package per caricare gli artefatti su S3, quindi usare aws cloudformation deploy..
Perché questa è la risposta
Il problema "no changes to deploy" si verifica perché AWS CloudFormation, su cui si basa SAM, non rileva modifiche al template se l'unica cosa che cambia è il contenuto del file ZIP in S3, ma la sua chiave S3 (e quindi il riferimento nel template) rimane la stessa. Modificare la proprietà CodeUri in modo che punti alla cartella del codice locale e poi eseguire sam deploy (che include automaticamente la fase di packaging) risolve il problema. SAM rileverà le modifiche al codice locale, lo pacchettizzerà e caricherà una nuova versione su S3, aggiornando il template CloudFormation con un riferimento a un nuovo oggetto S3 (o un hash diverso), consentendo a CloudFormation di rilevare la modifica. In alternativa, modificare CodeUri per puntare alla cartella locale, usare aws cloudformation package per caricare gli artefatti su S3 e poi aws cloudformation deploy è un flusso di lavoro equivalente che raggiunge lo stesso risultato, poiché sam deploy è un wrapper per queste operazioni di CloudFormation. Usare aws cloudformation update-stack non risolverebbe il problema perché il template non è cambiato. aws cloudformation update-stack-instances non è pertinente in questo contesto. Creare e eseguire un change set senza prima pacchettizzare il codice aggiornato non funzionerebbe.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta