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::Include
-Transformation
Verwenden Sie die AWS::Include
Transformation, ein Makro, das von bereitgestellt wird CloudFormation, um Standardinhalte in Ihre Vorlagen einzufügen. Mit der AWS::Include
-Transformation können Sie eine Referenz auf einen Vorlagenausschnitt in einem Amazon S3-Bucket erstellen. Wenn Sie einen Änderungssatz erstellen oder Stapel mithilfe von Änderungssätzen und der Vorlagenreferenz aktualisierenAWS::Include
, wird der Inhalt der angegebenen Datei an der Position der Transformation in der Vorlage CloudFormation eingefügt. Die AWS::Include
-Funktion verhält sich ähnlich wie eine include
-, copy
- oder import
-Anweisung in Programmiersprachen.
Sie verfügen beispielsweise möglicherweise über eine Lambda-Funktion, die Sie in einer oder mehreren CloudFormation -Vorlagen wiederverwenden möchten.
Verwendung
Sie können die AWS::Include
-Transformation überall in der CloudFormation-Vorlage außer im Abschnitt der Vorlagenparameter oder im Versionsfeld der Vorlage verwenden. Sie können AWS::Include
z. B. im Zuweisungsabschnitt verwenden.
Syntax der obersten Ebene einer Vorlage
Wenn Sie eine AWS::Include
-Transformation auf der obersten Ebene einer Vorlage im Abschnitt Transform
einschließen möchten, verwenden Sie die folgende Syntax.
JSON
{ "Transform" : { "Name" : "AWS::Include", "Parameters" : { "Location" : "s3://
amzn-s3-demo-bucket
/MyFileName.json
" } } }
YAML
Transform: Name: 'AWS::Include' Parameters: Location: 's3://
amzn-s3-demo-bucket
/MyFileName.yaml
'
Syntax einer in einen Abschnitt einer Vorlage eingebetteten Transformation
Um eine Transformation aufzunehmen, die in einen Abschnitt eingebettet ist, verwenden Sie die intrinsische Fn::Transform-Funktion und die folgende Syntax.
JSON
{ "Fn::Transform" : { "Name" : "AWS::Include", "Parameters" : { "Location": "s3://
amzn-s3-demo-bucket
/MyFileName.json
" } } }
YAML
'Fn::Transform': Name: 'AWS::Include' Parameters: Location: s3://
amzn-s3-demo-bucket
/MyFileName.yaml
Parameter
Ort
Der Speicherort ist ein Amazon S3 URI mit einem bestimmten Dateinamen in einem S3-Bucket. Beispiel, s3://
.amzn-s3-demo-bucket
/MyFile.yaml
Anmerkungen
Bei der Verwendung von AWS::Include
sind die folgenden Punkte zu beachten. Allgemeine Überlegungen zur Verwendung von Makros finden Sie unterÜberlegungen.
-
Wir unterstützen derzeit Amazon S3URI, aber kein anderes Amazon S3-Format (wie Amazon S3ARN). Es muss ein Amazon S3 S3-Bucket sein, im Gegensatz zu so etwas wie einem GitHub Repository.
-
Jeder, der Zugriff auf Amazon S3 hat, URL kann das Snippet in seine Vorlage aufnehmen.
-
Ihre Vorlagenausschnitte müssen gültig sein. JSON
-
Die Vorlagenausschnitte müssen gültige Schlüssel-–-Objekte sein, wie z. B.
"KeyName": "keyValue"
. -
Sie können
AWS::Include
nicht verwenden, um auf einen Vorlagenausschnitt zu verweisen, der ebenfallsAWS::Include
verwendet. -
Wenn Ihre Codeausschnitte geändert werden, übernimmt der Stack nicht automatisch diese Änderungen. Um diese Änderungen zu erhalten, müssen Sie den Stack mit den aktualisierten Codeausschnitten aktualisieren. Wenn Sie Ihren Stack aktualisieren, stellen Sie sicher, dass Ihre eingeschlossenen Codefragmente nicht ohne Ihr Wissen geändert wurden. Um dies vor der Aktualisierung des Stacks sicherzustellen, überprüfen Sie den Änderungssatz.
-
Beim Erstellen von Vorlagen und Snippets können Sie verschiedene Sprachen mischen YAML und als Vorlage verwenden. JSON
-
Wir unterstützen derzeit nicht die Verwendung von Kurzschreibweisen für Textbausteine. YAML
-
Sie können eine regionsübergreifende Replikation bereitstellen, URI mit
AWS::Include
der Amazon S3 ausgestattet ist. Überprüfen Sie unbedingt die Amazon S3-Bucket-Namen, wenn Sie auf Objekte für regionsübergreifende Replikation zugreifen. Weitere Informationen finden Sie unter Objekte innerhalb und zwischen Regionen replizieren im Amazon S3 S3-Benutzerhandbuch.
Beispiel
Die folgenden Beispiele zeigen, wie die AWS::Include
Transformation verwendet wird, um ein Wartebedingungs-Handle auszuführen. amzn-s3-demo-bucket
Ersetzen Sie es durch Ihren tatsächlichen Bucket-Namen. Speichern Sie in Ihrem S3-Bucket eine YAML Datei single_wait_condition.yaml
mit dem folgenden Namen:
MyWaitCondition
: Type: AWS::CloudFormation::WaitCondition Properties: Handle:!Ref MyWaitHandle
Timeout:'4500'
JSON
{ "Resources": { "MyWaitHandle": { "Type": "AWS::CloudFormation::WaitConditionHandle" }, "Fn::Transform": { "Name": "AWS::Include", "Parameters": { "Location": "s3://
amzn-s3-demo-bucket
/single_wait_condition.yaml" } } } }
YAML
Resources: MyWaitHandle: Type: AWS::CloudFormation::WaitConditionHandle 'Fn::Transform': Name: 'AWS::Include' Parameters: Location: "s3://
amzn-s3-demo-bucket
/single_wait_condition.yaml"
Weitere Informationen finden Sie unter Wartebedingungen in einer CloudFormation Vorlage erstellen.