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.
Outputs
Der optionale Outputs
Abschnitt deklariert Ausgabewerte, die Sie in andere Stacks importieren (um stapelübergreifende Referenzen zu erstellen), als Antwort zurückgeben (um Stack-Aufrufe zu beschreiben) oder auf der Konsole anzeigen können. AWS CloudFormation Beispielsweise können Sie den Namen des S3-Buckets eines Stacks ausgeben lassen, um den Bucket einfacher zu finden.
Wichtig
CloudFormation redigiert oder verschleiert keine Informationen, die Sie im Abschnitt Ausgaben angeben. 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 ein Stack-Status einen der IN_PROGRESS
-Status hat. 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
, gefolgt von einem Leerzeichen und einem einzigen Doppelpunkt. 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" : { "
Logical ID of resource
" : { "Description" : "Information about the value
", "Value" : "Value to return
", "Export" : { "Name" : "Name of resource to export
" } } }
YAML
Outputs:
Logical ID of resource
: 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)
-
Gibt den Wert der Eigenschaft an, der vom Befehl
aws cloudformation describe-stacks
zurückgegeben wird. 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.
Anmerkung
Die folgenden Einschränkungen gelten für Cross-Stack-Referenzen:
-
Jeder AWS-Konto
Export
Name muss innerhalb einer Region eindeutig sein. -
Cross-Stack-Referenzen können nicht regionsübergreifend erstellt werden. Sie können die intrinsische Funktion
Fn::ImportValue
verwenden, um nur Werte zu importieren, die innerhalb derselben Region exportiert wurden. -
Für Ausgaben kann der Wert der
Name
-Eigenschaft einesExport
keineRef
- oderGetAtt
-Funktionen verwenden, die von einer Ressource abhängen.Ebenso darf die
ImportValue
-Funktion keineRef
- oderGetAtt
-Funktionen enthalten, die von einer Ressource abhängen. -
Sie können einen Stack nicht löschen, wenn ein anderer Stack auf eine seiner Ausgaben verweist.
-
Sie können einen Ausgabewert, auf den ein anderer Stack verweist, nicht ändern oder entfernen.
Sie können den
Name
-Wert eines Exports mithilfe intrinsischer Funktionen individuell anpassen. Im nächsten Abschnitt finden Sie Beispiele. -
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 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 zweite Ausgabe demonstriert, wie Sie mehrere Ausgaben angeben können.)
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 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"
Passen Sie den Exportnamen an mit Fn::Join
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 ] ]