Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS SAM anatomia del modello
Un file AWS SAM modello segue da vicino il formato di un file AWS CloudFormation modello, descritto in Anatomia del modello nella Guida per l'AWS CloudFormation utente. Le differenze principali tra i file AWS SAM modello e i file AWS CloudFormation modello sono le seguenti:
-
Dichiarazione Transform. La dichiarazione
Transform: AWS::Serverless-2016-10-31
è obbligatoria per i file AWS SAM modello. Questa dichiarazione identifica un file AWS CloudFormation modello come file AWS SAM modello. Per ulteriori informazioni sulle trasformazioni, consulta Transform nella Guida per l'AWS CloudFormation utente. -
Sezione Globals. La
Globals
sezione è unica per. AWS SAM Definisce le proprietà comuni a tutte le funzioni e le API serverless. TutteAWS::Serverless::Function
leAWS::Serverless::Api
AWS::Serverless::SimpleTable
risorse e ereditano le proprietà definite nella sezione.Globals
Per ulteriori informazioni su questa sezione, vedereSezione Globals del modello AWS SAM. -
Sezione Risorse. Nei AWS SAM modelli la
Resources
sezione può contenere una combinazione di AWS CloudFormation risorse e AWS SAM risorse. Per ulteriori informazioni sulle AWS CloudFormation risorse, consulta il riferimento ai tipi di AWS risorse e proprietà nella Guida AWS CloudFormation per l'utente. Per ulteriori informazioni sulle AWS SAM risorse, vedereAWS SAM risorse e proprietà.
Tutte le altre sezioni di un file AWS SAM modello corrispondono alla sezione del file AWS CloudFormation modello con lo stesso nome.
YAML
Il seguente esempio mostra un frammento di modello in formato YAML.
Transform: AWS::Serverless-2016-10-31 Globals:
set of globals
Description:String
Metadata:template metadata
Parameters:set of parameters
Mappings:set of mappings
Conditions:set of conditions
Resources:set of resources
Outputs:set of outputs
Sezioni del modello
AWS SAM i modelli possono includere diverse sezioni principali. Sono necessarie solo Resources
le sezioni Transform
e.
È possibile includere le sezioni del modello in qualsiasi ordine. Tuttavia, se si utilizzano estensioni linguistiche, è necessario aggiungerle AWS::LanguageExtensions
prima della trasformazione serverless (ovvero primaAWS::Serverless-2016-10-31
), come mostrato nell'esempio seguente:
Transform: - AWS::LanguageExtensions - AWS::Serverless-2016-10-31
Durante la creazione del modello, può essere utile utilizzare l'ordine logico mostrato nell'elenco seguente. Questo perché i valori di una sezione potrebbero fare riferimento a valori di una sezione precedente.
- Trasforma (obbligatorio)
-
Per AWS SAM i modelli, è necessario includere questa sezione con un valore di
AWS::Serverless-2016-10-31
.Le trasformazioni aggiuntive sono facoltative. Per ulteriori informazioni sulle trasformazioni, consulta Transform nella Guida per l'AWS CloudFormation utente.
- Globali (opzionale)
-
Proprietà comuni a tutte le funzioni serverless, alle API e alle tabelle semplici. Tutte
AWS::Serverless::Function
leAWS::Serverless::Api
AWS::Serverless::SimpleTable
risorse e ereditano le proprietà definite nella sezione.Globals
Questa sezione è esclusiva di. AWS SAM Non esiste una sezione corrispondente nei AWS CloudFormation modelli.
- Descrizione (facoltativa)
-
Stringa di testo che descrive il modello.
Questa sezione corrisponde direttamente alla
Description
sezione dei AWS CloudFormation modelli. - Metadata (Metadati) (facoltativa)
-
Oggetti che forniscono informazioni aggiuntive sul modello.
Questa sezione corrisponde direttamente alla
Metadata
sezione dei AWS CloudFormation modelli. - Parameters (Parametri) (facoltativa)
-
Valori da passare al modello in fase di runtime (quando crei o aggiorni uno stack). Puoi fare riferimento ai parametri dalle sezioni
Resources
eOutputs
del modello. Gli oggetti dichiarati nellaParameters
sezione fanno sì che il sam deploy --guided comando presenti all'utente istruzioni aggiuntive.I valori passati utilizzando il
--parameter-overrides
parametro delsam deploy
comando e le voci nel file di configurazione hanno la precedenza sulle voci del file modello. AWS SAM Per ulteriori informazioni sul comando, vedere nel riferimento ai comandi.sam deploy
sam deploy AWS SAMCLI Per ulteriori informazioni sul file di configurazione, consulta AWS SAMCLIfile di configurazione. - Mappings (Mappature) (facoltativa)
-
Mappatura di chiavi e valori associati che puoi utilizzare per specificare i valori dei parametri condizionali, in modo analogo a una tabella di ricerca. È possibile abbinare una chiave a un valore corrispondente utilizzando la funzione
Fn::FindInMap
intrinseca nelle sezioniResources
andOutputs
.Questa sezione corrisponde direttamente alla
Mappings
sezione dei AWS CloudFormation modelli. - Conditions (Condizioni) (facoltativa)
-
Condizioni che consentono di controllare se alcune risorse sono state creati o se a determinate proprietà di risorsa è stato assegnato un valore durante la creazione o l'aggiornamento dello stack. Ad esempio, puoi creare in modo condizionale una risorsa a seconda che lo stack sia destinato a un ambiente di test o di produzione.
Questa sezione corrisponde direttamente alla
Conditions
sezione dei AWS CloudFormation modelli. - Resources (Risorse) (obbligatoria)
-
Le risorse dello stack e le relative proprietà, ad esempio un'istanza Amazon Elastic Compute Cloud (Amazon EC2) o un bucket Amazon Simple Storage Service (Amazon S3). Puoi fare riferimento alle risorse nelle sezioni
Resources
eOutputs
del modello.Questa sezione è simile alla sezione dei modelli.
Resources
AWS CloudFormation Nei AWS SAM modelli, questa sezione può contenere AWS SAM risorse oltre alle AWS CloudFormation risorse. - Outputs (Output) (facoltativa)
-
I valori che vengono restituiti ogni volta che si visualizzano le proprietà dello stack. Ad esempio, puoi dichiarare un output per il nome di un bucket S3 e quindi chiamare il comando
aws cloudformation describe-stacks
AWS Command Line Interface (AWS CLI) per visualizzare il nome.Questa sezione corrisponde direttamente alla
Outputs
sezione dei modelli. AWS CloudFormation
Passaggi successivi
Per scaricare e distribuire un'applicazione serverless di esempio che contiene un file AWS SAM modello, consulta Guida introduttiva con AWS SAM e segui le istruzioni riportate in. Tutorial: Implementa un'applicazione Hello World con AWS SAM