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.
Sie können CloudFormation Vorlagen in JSON oder YAML -Formaten erstellen. Beide Formate dienen demselben Zweck, bieten jedoch deutliche Vorteile in Bezug auf Lesbarkeit und Komplexität.
-
JSON— JSON ist ein leichtes Datenaustauschformat, das für Maschinen einfach zu analysieren und zu generieren ist. Das Lesen und Schreiben kann für Menschen jedoch umständlich werden, insbesondere bei komplexen Konfigurationen. In JSON ist die Vorlage mithilfe verschachtelter Klammern
{}
und Klammern strukturiert,[]
um Ressourcen, Parameter und andere Komponenten zu definieren. Die Syntax erfordert die explizite Deklaration jedes Elements, wodurch die Vorlage ausführlich werden kann, aber die strikte Einhaltung eines strukturierten Formats gewährleistet wird. -
YAML— YAML ist so konzipiert, dass es für Menschen lesbarer und weniger ausführlich ist als. JSON Es verwendet Einrückungen anstelle von geschweiften und eckigen Klammern, um die Verschachtelung zu kennzeichnen, was die Visualisierung der Hierarchie von Ressourcen und Parametern erleichtern kann. YAMLwird häufig wegen ihrer Übersichtlichkeit und Benutzerfreundlichkeit bevorzugt, insbesondere bei komplexeren Vorlagen. YAMLDas Vertrauen auf Einrückungen kann jedoch zu Fehlern führen, wenn die Abstände nicht einheitlich sind. Daher ist besondere Aufmerksamkeit erforderlich, um die Genauigkeit zu wahren.
Struktur der Vorlage
CloudFormation Vorlagen sind in verschiedene Abschnitte unterteilt, und jeder Abschnitt ist so konzipiert, dass er eine bestimmte Art von Informationen enthält. Einige Abschnitte müssen in einer bestimmten Reihenfolge deklariert werden, und für andere spielt die Reihenfolge keine Rolle. Beim Erstellen Ihrer Vorlage kann es jedoch hilfreich sein, die in den folgenden Beispielen gezeigte logische Reihenfolge zu verwenden, da sich Werte in einem Abschnitt möglicherweise auf Werte aus einem vorherigen Abschnitt beziehen.
Verwenden Sie beim Erstellen von Vorlagen keine doppelten Hauptabschnitte, wie z. B. den Resources
Abschnitt. Die Vorlage akzeptiert zwar CloudFormation möglicherweise, verhält sich aber bei der Verarbeitung der Vorlage undefiniert und kann Ressourcen falsch bereitstellen oder unerklärliche Fehler zurückgeben.
JSON
Das folgende Beispiel zeigt die Struktur einer Vorlage im JSON -Format mit allen verfügbaren Abschnitten.
{
"AWSTemplateFormatVersion" : "version date
",
"Description" : "JSON string
",
"Metadata" : {
template metadata
},
"Parameters" : {
set of parameters
},
"Rules" : {
set of rules
},
"Mappings" : {
set of mappings
},
"Conditions" : {
set of conditions
},
"Transform" : {
set of transforms
},
"Resources" : {
set of resources
},
"Outputs" : {
set of outputs
}
}
YAML
Das folgende Beispiel zeigt die Struktur einer Vorlage im YAML -Format mit allen verfügbaren Abschnitten.
---
AWSTemplateFormatVersion: version date
Description:
String
Metadata:
template metadata
Parameters:
set of parameters
Rules:
set of rules
Mappings:
set of mappings
Conditions:
set of conditions
Transform:
set of transforms
Resources:
set of resources
Outputs:
set of outputs
Kommentare
In Vorlagen im JSON -Format werden Kommentare nicht unterstützt. JSON, enthält standardmäßig keine Syntax für Kommentare, was bedeutet, dass Sie Kommentare nicht direkt in die JSON Struktur einfügen können. Wenn Sie jedoch erläuternde Hinweise oder Dokumentation hinzufügen müssen, können Sie das Hinzufügen von Metadaten in Betracht ziehen. Weitere Informationen finden Sie unter Metadata Attribut.
In Vorlagen im YAML -Format können Sie mithilfe des Symbols Inline-Kommentare einfügen. #
Das folgende Beispiel zeigt eine YAML Vorlage mit Inline-Kommentaren.
AWSTemplateFormatVersion: 2010-09-09
Description: A sample CloudFormation template with YAML comments.
# Resources section
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
# Linux AMI
ImageId: ami-1234567890abcdef0
InstanceType: t2.micro
KeyName: MyKey
BlockDeviceMappings:
- DeviceName: /dev/sdm
Ebs:
VolumeType: io1
Iops: 200
DeleteOnTermination: false
VolumeSize: 20
Technische Daten
CloudFormation unterstützt die folgenden JSON YAML Spezifikationen:
- JSON
-
CloudFormation folgt dem ECMA JSON -404-Standard. Weitere Informationen über das JSON Format finden Sie unter http://www.json.org
. - YAML
-
CloudFormation unterstützt die YAML Version 1.1-Spezifikation mit wenigen Ausnahmen. CloudFormation unterstützt die folgenden Funktionen nicht:
-
Die Tags
binary
omap
,pairs
,set
undtimestamp
-
Aliasnamen
-
Hash-Zusammenführungen
Weitere Informationen zu YAML finden Sie unter https://yaml.org/
. -
Weitere Informationen
Für jede Ressource, die Sie in Ihrer Vorlage angeben, definieren Sie ihre Eigenschaften und Werte mithilfe der spezifischen Syntaxregeln von entweder JSON oderYAML. Weitere Informationen zur Vorlagensyntax der einzelnen Formate finden Sie unter CloudFormation Vorlagenabschnitte.