CloudFormation Vorlage Outputs Syntax - 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.

CloudFormation Vorlage Outputs Syntax

Der optionale Outputs Abschnitt deklariert Ausgabewerte für den Stack. Diese Ausgabewerte können auf verschiedene Arten verwendet werden:

  • Erfassen Sie wichtige Details zu Ihren Ressourcen — Eine Ausgabe ist eine bequeme Möglichkeit, wichtige Informationen über Ihre Ressourcen zu erfassen. Beispielsweise können Sie den Namen des S3-Buckets eines Stacks ausgeben lassen, um den Bucket einfacher zu finden. Sie können Ausgabewerte auf der Registerkarte „Ausgaben“ der CloudFormation Konsole anzeigen oder indem Sie describe-stacksCLIBefehl.

  • Stapelübergreifende Referenzen — Sie können Ausgabewerte in andere Stapel importieren, um Verweise zwischen Stapeln zu erstellen. Dies ist hilfreich, wenn Sie Ressourcen oder Konfigurationen für mehrere Stapel gemeinsam nutzen müssen.

Wichtig

CloudFormation redigiert oder verschleiert keine Informationen, die Sie in den Abschnitt aufnehmen. Outputs Es wird dringend empfohlen, diesen Abschnitt nicht für die Ausgabe vertraulicher Informationen wie Passwörter oder Secrets zu verwenden.

Ausgabewerte sind verfügbar, nachdem der Stack-Vorgang abgeschlossen ist. Stack-Ausgabewerte sind nicht verfügbar, wenn sich ein Stack-Status in einem der folgenden Status befindet. IN_PROGRESS Wir empfehlen nicht, Abhängigkeiten zwischen einer Servicelaufzeit und dem Stack-Ausgabewert festzulegen, da Ausgabewerte möglicherweise nicht immer verfügbar sind.

Syntax

Der Abschnitt Outputs besteht aus dem Schlüsselnamen Outputs. Sie können maximal 200 Ausgaben in einer Vorlage deklarieren.

Das folgende Beispiel veranschaulicht die Struktur des Abschnitts Outputs.

JSON

Schließen Sie alle Ausgabedeklarationen in Klammern ein. Trennen Sie bei mehreren Ausgaben die einzelnen Ausgaben jeweils durch ein Komma voneinander.

"Outputs" : { "OutputLogicalID" : { "Description" : "Information about the value", "Value" : "Value to return", "Export" : { "Name" : "Name of resource to export" } } }

YAML

Outputs: OutputLogicalID: Description: Information about the value Value: Value to return Export: Name: Name of resource to export

Ausgabefelder

Der Abschnitt Outputs kann die folgenden Felder enthalten:

Logische ID (auch logischer Name genannt)

Gibt den Bezeichner der aktuellen Ausgabe an. Die logische ID muss alphanumerisch (a–z, A–Z, 0–9) und innerhalb der Vorlage eindeutig sein.

Description (optional)

Gibt einen String-Typ an, der den Ausgabewert beschreibt. Der Wert für die Deklaration der Beschreibung muss eine Literalzeichenfolge mit einer Länge zwischen 0 und 1 024 Byte sein. Parameter oder Funktionen dürfen nicht zur Angabe der Beschreibung verwendet werden.

Value (Erforderlich)

Der Wert der Eigenschaft, der von der zurückgegeben wurde describe-stacksBefehl. Der Wert einer Ausgabe darf Literale, Parameterreferenzen, Pseudoparameter, Zuweisungswerte und intrinsische Funktionen enthalten.

Export (optional)

Gibt den Namen der Ressourcenausgabe an, wie er für eine Stack-übergreifende Referenzierung exportiert werden soll.

Sie können den Name-Wert eines Exports mithilfe intrinsischer Funktionen individuell anpassen.

Weitere Informationen finden Sie unter Holen Sie sich exportierte Ausgaben aus einem bereitgestellten CloudFormation Stack.

Wenn Sie eine Bedingung mit einer Ausgabe verknüpfen möchten, müssen Sie die Bedingung im Abschnitt Conditions der Vorlage definieren.

Beispiele

Die folgenden Beispiele veranschaulichen die Funktionsweise von Stack-Ausgaben.

Stack-Ausgabe

Im folgenden Beispiel gibt die Ausgabe named den DNS Namen der Ressource mit der logischen ID BackupLoadBalancer nur BackupLoadBalancerDNSName zurück, wenn die CreateProdResources Bedingung wahr ist. Die Ausgabe mit dem Namen InstanceID gibt die ID der EC2 Instanz mit der logischen ID zurückEC2Instance.

JSON

"Outputs" : { "BackupLoadBalancerDNSName" : { "Description": "The DNSName of the backup load balancer", "Value" : { "Fn::GetAtt" : [ "BackupLoadBalancer", "DNSName" ]}, "Condition" : "CreateProdResources" }, "InstanceID" : { "Description": "The Instance ID", "Value" : { "Ref" : "EC2Instance" } } }

YAML

Outputs: BackupLoadBalancerDNSName: Description: The DNSName of the backup load balancer Value: !GetAtt BackupLoadBalancer.DNSName Condition: CreateProdResources InstanceID: Description: The Instance ID Value: !Ref EC2Instance

Passen Sie den Exportnamen an mit Fn::Sub

In den folgenden Beispielen gibt die Ausgabe named die ID von a StackVPC zurück und exportiert dann den Wert für die stapelübergreifende ReferenzierungVPC, wobei der Name an den Namen des Stacks VPCID angehängt wird.

JSON

"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-VPCID" } } } }

YAML

Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Sub "${AWS::StackName}-VPCID"

Weitere Informationen zur Funktion Fn::Sub finden Sie unter Fn::Sub.

Passen Sie den Exportnamen an mit Fn::Join

Sie können die Fn::Join Funktion auch verwenden, um Werte auf der Grundlage von Parametern, Ressourcenattributen und anderen Zeichenketten zu erstellen.

In den folgenden Beispielen wird anstelle der Fn::Join Funktion die Fn::Sub Funktion verwendet, um den Exportnamen anzupassen. Die Fn::Join Beispielfunktion verkettet den Stacknamen mit dem Namen, wobei ein Doppelpunkt als VPCID Trennzeichen verwendet wird.

JSON

"Outputs" : { "StackVPC" : { "Description" : "The ID of the VPC", "Value" : { "Ref" : "MyVPC" }, "Export" : { "Name" : { "Fn::Join" : [ ":", [ { "Ref" : "AWS::StackName" }, "VPCID" ] ] } } } }

YAML

Outputs: StackVPC: Description: The ID of the VPC Value: !Ref MyVPC Export: Name: !Join [ ":", [ !Ref "AWS::StackName", VPCID ] ]

Weitere Informationen zur Funktion Fn::Join finden Sie unter Fn::Join.

Gibt ein Konstruiertes zurück mit URL Fn::Join

Im folgenden Beispiel für eine Vorlage, die eine WordPress Site erstellt, InstallURL ist die Zeichenfolge, die von einem Fn::Join Funktionsaufruf zurückgegeben wirdhttp://, der den DNS Namen der Ressource ElasticLoadBalancer verkettet, und. /wp-admin/install.php Der Ausgabewert sollte folgendermaßen oder ähnlich aussehen:

http://mywptests-elasticl-1gb51l6sl8y5v-206169572.aws-region.elb.amazonaws.com/wp-admin/install.php

JSON

{ "Outputs": { "InstallURL": { "Value": { "Fn::Join": [ "", [ "http://", { "Fn::GetAtt": [ "ElasticLoadBalancer", "DNSName" ] }, "/wp-admin/install.php" ] ] }, "Description": "Installation URL of the WordPress website" } } }

YAML

Outputs: InstallURL: Value: !Join - '' - - 'http://' - !GetAtt - ElasticLoadBalancer - DNSName - /wp-admin/install.php Description: Installation URL of the WordPress website

Weitere Informationen zur Funktion Fn::Join finden Sie unter Fn::Join.