AWS SAMAnatomia dei modelli - AWS Serverless Application Model

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 dichiarazioneTransform: 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). LaGlobalssezione è 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::SimpleTablele risorse ereditano le proprietà definite nelGlobalssezione. Per ulteriori informazioni su questa sezione, consultaSezione Globals delAWS SAM modello.

  • Sezione Risorse. Nello statoAWS SAMmodelli diResourcesla 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 nelParameterscausa la sezionesam deploy --guidedcomando 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 ilTransformeResourcessono 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 diAWS::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::SimpleTablele risorse ereditano le proprietà definite nelGlobalssezione.

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 allaDescriptionsezione diAWS CloudFormationmodelli di.

Metadata (Metadati) (facoltativa)

Oggetti che forniscono informazioni aggiuntive sul modello.

Questa sezione corrisponde direttamente allaMetadatasezione 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 e Outputs del modello.

Valori che vengono passati utilizzando il--parameter-overridesparametro del parametro delsam deployil comando e le voci nel file di configurazione prendono la precendenza rispetto alle voci delAWS SAMfile di modello. Per ulteriori informazioni sulsam deploycomando, 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 fileFn::FindInMapfunzione intrinseca nelResourceseOutputssezioni.

Questa sezione corrisponde direttamente allaMappingssezione 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 allaConditionssezione 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 e Outputs del modello.

Questa sezione è simile alla versione diResourcessezione 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 fileaws cloudformation describe-stacks AWS Command Line Interface(AWS CLI) comando per visualizzare il nome.

Questa sezione corrisponde direttamente allaOutputssezione 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.