Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS SAM Anatomie der Vorlage
Eine AWS SAM Vorlagendatei folgt weitgehend dem Format einer AWS CloudFormation Vorlagendatei, das im AWS CloudFormation Benutzerhandbuch unter Anatomie der Vorlage beschrieben wird. Die Hauptunterschiede zwischen AWS SAM Vorlagendateien und AWS CloudFormation Vorlagendateien sind die folgenden:
-
Deklaration transformieren. Die Deklaration
Transform: AWS::Serverless-2016-10-31
ist für AWS SAM Vorlagendateien erforderlich. Diese Deklaration identifiziert eine AWS CloudFormation Vorlagendatei als AWS SAM Vorlagendatei. Weitere Informationen zu Transformationen finden Sie unter Transform im AWS CloudFormation Benutzerhandbuch. -
Abschnitt „Globals“. Der
Globals
Abschnitt ist einzigartig für AWS SAM. Er definiert Eigenschaften, die all Ihren serverlosen Funktionen und APIs gemeinsam sind. AlleAWS::Serverless::SimpleTable
RessourcenAWS::Serverless::Function
AWS::Serverless::Api
, und erben die Eigenschaften, dieGlobals
im Abschnitt definiert sind. Weitere Informationen zu diesem Abschnitt finden Sie unterGlobaler Abschnitt der AWS SAM Vorlage. -
Abschnitt „Ressourcen“. In AWS SAM Vorlagen kann der
Resources
Abschnitt eine Kombination aus AWS CloudFormation Ressourcen und AWS SAM Ressourcen enthalten. Weitere Informationen zu AWS CloudFormation Ressourcen finden Sie in der Referenz zu AWS Ressourcen- und Eigenschaftstypen im AWS CloudFormation Benutzerhandbuch. Weitere Informationen zu AWS SAM Ressourcen finden Sie unterAWS SAM Ressourcen und Immobilien.
Alle anderen Abschnitte einer AWS SAM Vorlagendatei entsprechen dem gleichnamigen Abschnitt der AWS CloudFormation Vorlagendatei.
YAML
Das folgende Beispiel zeigt ein in YAML formatiertes Vorlagenfragment.
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
Abschnitte einer Vorlage
AWS SAM Vorlagen können mehrere Hauptabschnitte enthalten. Nur die Resources
Abschnitte Transform
und sind erforderlich.
Sie können die Vorlagenabschnitte in beliebiger Reihenfolge einfügen. Wenn Sie jedoch Spracherweiterungen verwenden, sollten Sie AWS::LanguageExtensions
sie vor der serverlosen Transformation (also vorAWS::Serverless-2016-10-31
) hinzufügen, wie im folgenden Beispiel gezeigt:
Transform: - AWS::LanguageExtensions - AWS::Serverless-2016-10-31
Beim Erstellen Ihrer Vorlage kann es hilfreich sein, die logische Reihenfolge zu verwenden, die in der folgenden Liste aufgeführt ist. Das liegt daran, dass sich die Werte in einem Abschnitt möglicherweise auf Werte aus einem vorherigen Abschnitt beziehen.
- Transformieren (erforderlich)
-
Bei AWS SAM Vorlagen müssen Sie diesen Abschnitt mit einem Wert von einschließen
AWS::Serverless-2016-10-31
.Zusätzliche Transformationen sind optional. Weitere Informationen zu Transformationen finden Sie unter Transform im AWS CloudFormation Benutzerhandbuch.
- Globale Werte (optional)
-
Eigenschaften, die all Ihren serverlosen Funktionen, APIs und einfachen Tabellen gemeinsam sind. Alle
AWS::Serverless::SimpleTable
RessourcenAWS::Serverless::Function
AWS::Serverless::Api
, und erben die Eigenschaften, dieGlobals
im Abschnitt definiert sind.Dieser Abschnitt ist einzigartig für AWS SAM. In AWS CloudFormation Vorlagen gibt es keinen entsprechenden Abschnitt.
- Description (optional)
-
Gibt eine Textzeichenfolge als Beschreibung der Vorlage an.
Dieser Abschnitt entspricht direkt dem
Description
Abschnitt AWS CloudFormation Vorlagen. - Metadata (optional)
-
Gibt Objekte an, die zusätzliche Informationen über die Vorlage liefern.
Dieser Abschnitt entspricht direkt dem
Metadata
Abschnitt der AWS CloudFormation Vorlagen. - Parameters (optional)
-
Werte, die zur Laufzeit an die Vorlage übergeben werden sollen (also bei der Erstellung oder Aktualisierung eines Stacks). Hier können Sie Parameter aus den Vorlagenabschnitten
Resources
undOutputs
referenzieren. Objekte, die in diesemParameters
Abschnitt deklariert sind, veranlassen den sam deploy --guided Befehl, dem Benutzer zusätzliche Eingabeaufforderungen anzuzeigen.Werte, die mithilfe des
--parameter-overrides
sam deploy
Befehlsparameters und der Einträge in der Konfigurationsdatei übergeben werden, haben Vorrang vor Einträgen in der Vorlagendatei. AWS SAM Weitere Informationen zu demsam deploy
Befehl finden Sie in der Befehlsreferenz. sam deploy AWS SAMCLI Weitere Informationen zur Konfigurationsdatei finden Sie unter AWS SAM CLI Konfigurationsdatei. - Mappings (optional)
-
Eine Sammlung von Zuweisungen ähnlich einer Lookup-Tabelle, die Schlüssel und die ihnen zugeordneten Werte enthält. Mit ihrer Hilfe lassen sich Werte für bedingte Parameter festlegen. Sie können einen Schlüssel einem entsprechenden Wert zuordnen, indem Sie die
Fn::FindInMap
systeminterne Funktion in den AbschnittenResources
undOutputs
verwenden.Dieser Abschnitt entspricht direkt dem
Mappings
Abschnitt mit den Vorlagen. AWS CloudFormation - Conditions (optional)
-
Bedingungen, die steuern, ob während der Erstellung oder Aktualisierung eines Stacks bestimmte Ressourcen erstellt werden oder ein Wert für bestimmte Ressourceneigenschaften festgelegt wird. Beispielsweise könnten Sie über Bedingungen festlegen, wie eine Ressource erstellt wird, wenn der Stack für eine Produktionsumgebung gedacht ist, und wie sie erstellt wird, wenn der Stack für eine Testumgebung gedacht ist.
Dieser Abschnitt entspricht direkt dem
Conditions
Abschnitt der AWS CloudFormation Vorlagen. - Resources (erforderlich)
-
Die Stack-Ressourcen und ihre Eigenschaften, z. B. eine Amazon Elastic Compute Cloud (Amazon EC2) -Instance oder ein Amazon Simple Storage Service (Amazon S3) -Bucket. Hier können Sie Ressourcen aus den Vorlagenabschnitten
Resources
undOutputs
referenzieren.Dieser Abschnitt ähnelt dem
Resources
Abschnitt mit AWS CloudFormation Vorlagen. In AWS SAM Vorlagen kann dieser Abschnitt zusätzlich zu AWS SAM Ressourcen AWS CloudFormation Ressourcen enthalten. - Outputs (optional)
-
Die Werte, die zurückgegeben werden, wenn Sie sich die Eigenschaften Ihres Stacks ansehen. Sie können beispielsweise eine Ausgabe für einen S3-Bucket-Namen deklarieren und dann den Befehl
aws cloudformation describe-stacks
AWS Command Line Interface (AWS CLI) aufrufen, um den Namen anzuzeigen.Dieser Abschnitt entspricht direkt dem
Outputs
Abschnitt der AWS CloudFormation Vorlagen.
Nächste Schritte
Informationen zum Herunterladen und Bereitstellen einer serverlosen Beispielanwendung, die eine AWS SAM Vorlagendatei enthält, finden Erste Schritte mit AWS SAM Sie in Tutorial: Stellen Sie eine Hello World-Anwendung bereit mit AWS SAM den Anweisungen unter.