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 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 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 CloudFormation modello come file AWS SAM modello. Per ulteriori informazioni sulle trasformazioni, consulta Transform nella Guida per l'AWS CloudFormation utente. -
Sezione Globals. La
Globalssezione è unica per. AWS SAM Definisce proprietà comuni a tutte le funzioni serverless e APIs. TutteAWS::Serverless::FunctionAWS::Serverless::ApileAWS::Serverless::SimpleTablerisorse e ereditano le proprietà definite nellaGlobalssezione. Per ulteriori informazioni su questa sezione, vedereSezione Globals del modello AWS SAM. -
Sezione Risorse. Nei AWS SAM modelli la
Resourcessezione può contenere una combinazione di CloudFormation risorse e AWS SAM risorse. Per ulteriori informazioni sulle 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 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 globalsDescription:StringMetadata:template metadataParameters:set of parametersMappings:set of mappingsConditions:set of conditionsResources:set of resourcesOutputs:set of outputs
Sezioni del modello
AWS SAM i modelli possono includere diverse sezioni principali. Sono necessarie solo Resources le sezioni Transform e.
Puoi 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 e APIs tabelle semplici. Tutte
AWS::Serverless::FunctionAWS::Serverless::ApileAWS::Serverless::SimpleTablerisorse e ereditano le proprietà definite nellaGlobalssezione.Questa sezione è esclusiva di. AWS SAM Non esiste una sezione corrispondente nei CloudFormation modelli.
- Descrizione (facoltativa)
-
Stringa di testo che descrive il modello.
Questa sezione corrisponde direttamente alla
Descriptionsezione dei CloudFormation modelli. - Metadata (Metadati) (facoltativa)
-
Oggetti che forniscono informazioni aggiuntive sul modello.
Questa sezione corrisponde direttamente alla
Metadatasezione dei 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
ResourceseOutputsdel modello. Gli oggetti dichiarati nellaParameterssezione fanno sì che il sam deploy --guided comando presenti all'utente istruzioni aggiuntive.I valori passati utilizzando il
--parameter-overridesparametro delsam deploycomando 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 aisam deploycomandi. sam deploy AWS SAMCLI Per ulteriori informazioni sul file di configurazione, consulta AWS SAM CLI file 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 sezioniResourcesandOutputs.Questa sezione corrisponde direttamente alla
Mappingssezione dei 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
Conditionssezione dei 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
ResourceseOutputsdel modello.Questa sezione è simile alla sezione dei
Resourcesmodelli. CloudFormation Nei AWS SAM modelli, questa sezione può contenere AWS SAM risorse oltre alle 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-stacksAWS Command Line Interface (AWS CLI) per visualizzare il nome.Questa sezione corrisponde direttamente alla
Outputssezione dei modelli. 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