AWS::Include-Transformation - AWS CloudFormation

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 ebenfalls AWS::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-bucketErsetzen 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.