AWS SAM anatomia del modello - 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 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. Tutte AWS::Serverless::Function le AWS::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 diAWS::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 le AWS::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 e Outputs del modello. Gli oggetti dichiarati nella Parameters sezione fanno sì che il sam deploy --guided comando presenti all'utente istruzioni aggiuntive.

I valori passati utilizzando il --parameter-overrides parametro del sam 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::FindInMapintrinseca nelle sezioni Resources 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 e Outputs 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