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 Abschnitt Outputs deklariert Ausgabewerte für den Stack. Diese Ausgabewerte können auf verschiedene Weise verwendet werden:
-
Erfassen Sie wichtige Details über Ihre 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 die Ausgabewerte auf der Registerkarte Ausgaben der CloudFormation-Konsole oder mit dem CLI-Befehl describe-stacks einsehen.
-
Stapelübergreifende Referenzen- Sie können Ausgabewerte in andere Stapel importieren, um Referenzen zwischen Stapeln herzustellen. Dies ist hilfreich, wenn Sie Ressourcen oder Konfigurationen über mehrere Stacks hinweg gemeinsam nutzen müssen.
Wichtig
CloudFormation zensiert oder verschleiert keine Informationen, die Sie in den Abschnitt Outputs einfügen. 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 IN_PROGRESS-Status befindet. 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 valueValue:Value to returnExport: Name:Name of resource to export
Ausgabefelder
Der Abschnitt Outputs kann die folgenden Felder enthalten:
- Logische ID (auch logischer Namegenannt)
-
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, die durch den Befehl describe-stacks zurückgegeben wird. Der Wert einer Ausgabe kann Literale, Parameterreferenzen, Pseudoparameter, einen Mapping-Wert oder 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 Exportierte Ausgaben von einem bereitgestellten CloudFormation-Stack abrufen.
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.
Themen
Stack-Ausgabe
Im folgenden Beispiel gibt die Ausgabe BackupLoadBalancerDNSName den DNS-Namen der Ressource mit der logischen ID BackupLoadBalancer zurück, und zwar nur, wenn die Bedingung CreateProdResources als wahr identifiziert wird. Die Ausgabe mit dem Namen InstanceID gibt die ID der EC2-Instance mit der logischen ID EC2Instancezurück.
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
Exportname mit Fn::Subanpassen
In den folgenden Beispielen gibt die Ausgabe mit dem Namen StackVPC die ID einer VPC zurück. Anschließend exportiert sie den Wert für Stack-übergreifende Referenzierungen, wobei sie dem Stack-Namen den Namen VPCID anfügt.
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.
Exportname mit Fn::Joinanpassen
Sie können die Funktion Fn::Join auch verwenden, um Werte auf der Grundlage von Parametern, Ressourcenattributen und anderen Zeichenfolgen zu konstruieren.
In den folgenden Beispielen wird die Funktion Fn::Join anstelle der Funktion Fn::Sub verwendet, um den Exportnamen anzupassen. Die Beispielfunktion Fn::Join verkettet den Stapelnamen mit dem Namen VPCID mit einem Doppelpunkt als Trennzeichen.
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 eine URL zurück, die mit Fn::Joinerstellt wurde.
Im folgenden Beispiel für eine Vorlage, die eine WordPress-Website erstellt, ist InstallURL die Zeichenkette, die von einem Fn::Join-Funktionsaufruf zurückgegeben wird, der,http:// den DNS-Namen der Ressource ElasticLoadBalancerund /wp-admin/install.phpmiteinander verknüpft. 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.