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 SAMAnatomia dei modelli
Un recordAWS SAMil file modello segue da vicino il formato di unAWS CloudFormationfile modello, descritto inAnatomia dei modellinellaAWS CloudFormationGuida per l’utente di. Le principali differenze traAWS SAMfile di modello eAWS CloudFormationi file modello sono i seguenti:
-
Dichiarazione di trasformazione. Dichiarazione della dichiarazione
Transform: AWS::Serverless-2016-10-31
è obbligatorio perAWS SAMfile di modello. Questa dichiarazione identifica unAWS CloudFormationfile di modello come un file modelloAWS SAMfile di modello. Per ulteriori informazioni sulle trasformazioni, consultaTrasformazionenellaAWS CloudFormationGuida per l’utente di. -
Sezione Globals (Global). La
Globals
sezione è univoca perAWS SAM. Definisce le proprietà comuni a tutte le funzioni serverless e le API. All (Tutti)AWS::Serverless::Function
,AWS::Serverless::Api
, eAWS::Serverless::SimpleTable
le risorse ereditano le proprietà definite nelGlobals
sezione. Per ulteriori informazioni su questa sezione, consultaSezione Globals delAWS SAM modello. -
Sezione Risorse. Nello statoAWS SAMmodelli di
Resources
la sezione può contenere una combinazione diAWS CloudFormationrisorse eAWS SAMrisorse AWS. Per ulteriori informazioni suAWS CloudFormationResources, consultaAWSInformazioni di riferimento sui tipi di proprietà e di risorsenellaAWS CloudFormationGuida per l’utente di. Per ulteriori informazioni sulle risorse AWS SAM, consulta AWS SAMInformazioni di riferimento su proprietà e risorse. -
Sezione Parameters. Oggetti dichiarati nel
Parameters
causa la sezionesam deploy --guided
comando per presentare ulteriori prompt all'utente. Per esempi di oggetti dichiarati e le richieste corrispondenti, vederesam deploynellaAWS SAMRiferimento ai comandi CLI.
Tutte le altre sezioni di unAWS SAMil file modello corrisponde alAWS CloudFormationsezione file 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 SAMI modelli possono includere diverse sezioni principali. Solo ilTransform
eResources
sono richieste sezioni.
È possibile includere sezioni di modello in qualsiasi ordine. Tuttavia, durante la creazione di un modello, può risultare utile assumere l'ordine logico illustrato nel seguente elenco. Questo perché i valori di una sezione potrebbero riferirsi a valori di una sezione precedente.
- Trasformazione (richiesto)
-
PerAWS SAMmodelli, è necessario includere questa sezione con un valore di
AWS::Serverless-2016-10-31
.Le trasformazioni aggiuntive sono opzionali. Per ulteriori informazioni sulle trasformazioni, consultaTrasformazionenellaAWS CloudFormationGuida per l’utente di.
- Globals (facoltativo)
-
Proprietà comuni a tutte le funzioni serverless, le API e le tabelle semplici. All (Tutti)
AWS::Serverless::Function
,AWS::Serverless::Api
, eAWS::Serverless::SimpleTable
le risorse ereditano le proprietà definite nelGlobals
sezione.Questa sezione è univoca perAWS SAM. Non esiste una sezione corrispondente inAWS CloudFormationmodelli di.
- Descrizione (facoltativa)
-
Stringa di testo che descrive il modello.
Questa sezione corrisponde direttamente alla
Description
sezione diAWS CloudFormationmodelli di. - Metadata (Metadati) (facoltativa)
-
Oggetti che forniscono informazioni aggiuntive sul modello.
Questa sezione corrisponde direttamente alla
Metadata
sezione diAWS CloudFormationmodelli di. - 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.Valori che vengono passati utilizzando il
--parameter-overrides
parametro del parametro delsam deploy
il comando e le voci nel file di configurazione prendono la precendenza rispetto alle voci delAWS SAMfile di modello. Per ulteriori informazioni sulsam deploy
comando, vedisam deploynellaAWS SAMRiferimento ai comandi CLI. Per ulteriori informazioni sul file di configurazione, consulta AWS SAMFile di configurazione CLI. - 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 associare una chiave a un valore corrispondente utilizzando il file
Fn::FindInMap
funzione intrinseca nelResources
eOutputs
sezioni.Questa sezione corrisponde direttamente alla
Mappings
sezione diAWS CloudFormationmodelli di. - 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 diAWS CloudFormationmodelli di. - 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 versione di
Resources
sezione diAWS CloudFormationmodelli di. Nello statoAWS SAMmodelli, questa sezione può contenereAWS SAMrisorse oltre aAWS CloudFormationrisorse AWS. - Outputs (Output) (facoltativa)
-
I valori restituite ogni volta che visualizzi le proprietà dello stack. Ad esempio, puoi dichiarare un output per un nome di bucket S3 e quindi chiamare il file
aws cloudformation describe-stacks
AWS Command Line Interface(AWS CLI) comando per visualizzare il nome.Questa sezione corrisponde direttamente alla
Outputs
sezione diAWS CloudFormationmodelli di.
Fasi successive
Per scaricare e distribuire un'applicazione serverless di esempio che contieneAWS SAMFile di modello, consultaNozioni di base su AWS SAMsegui le istruzioni inTutorial: implementazione di un'applicazione Hello World.