Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Output
La Outputs sezione opzionale dichiara i valori di output che è possibile importare in altri stack (per creare riferimenti cross-stack), restituire in risposta (per descrivere le chiamate allo stack) o visualizzare sulla console. AWS CloudFormation Ad esempio, è possibile restituire l'output di un nome di bucket S3 per uno stack per semplificare la ricerca del bucket.
Importante
CloudFormation non oscura o offusca le informazioni incluse nella sezione Output. Si consiglia vivamente di non utilizzare questa sezione per generare informazioni riservate, ad esempio password o segreti.
I valori di output sono disponibili al termine dell'operazione dello stack. I valori di output dello stack non sono disponibili quando lo stato dello stack è IN_PROGRESS
. Si sconsiglia di stabilire dipendenze tra un runtime del servizio e il valore di output dello stack, poiché i valori di output potrebbero non essere sempre disponibili.
Sintassi
La sezione Outputs
è composta dal nome di chiave Outputs
, seguito da uno spazio e da un segno di due punti. Puoi dichiarare un massimo di 200 output in un modello.
L'esempio seguente mostra la struttura della sezione Outputs
.
JSON
Usa le parentesi graffe per racchiudere tutte le dichiarazioni degli output. Delimita più output con virgole.
"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
Campi di output
La sezione Outputs
può includere i seguenti campi.
- ID logico (chiamato anche nome logico)
-
Identificatore per l'output corrente. L'ID logico deve essere un valore alfanumerico (
a–z
,A–Z
,0–9
) univoco all'interno del modello. - Descrizione (facoltativa)
-
Tipo
String
che descrive il valore di output. Il valore della dichiarazione della descrizione deve essere una stringa letterale con una lunghezza compresa tra 0 e 1024 byte. Per specificare la descrizione non è possibile utilizzare un parametro o una funzione. - Valore (obbligatorio)
-
Valore della proprietà restituita dal comando
aws cloudformation describe-stacks
. Il valore di un output può includere valori letterali, riferimenti a parametri, pseudoparametri, un valore di mappatura o funzioni intrinseche. - Esportazione (opzionale)
-
Nome dell'output della risorsa da esportare in un riferimento tra stack.
Nota
Ai riferimenti tra stack si applicano le seguenti limitazioni:
-
Per ognuno Account AWS,
Export
i nomi devono essere univoci all'interno di una regione. -
Non puoi creare riferimenti tra stack tra Regioni. Puoi utilizzare la funzione intrinseca
Fn::ImportValue
per importare solo valori che sono stati esportati all'interno della stessa Regione. -
Per gli output, il valore della proprietà
Name
di unExport
non può utilizzare le funzioniRef
oGetAtt
che dipendono da una risorsa.Allo stesso modo, la funzione
ImportValue
non può includere le funzioniRef
oGetAtt
che dipendono da una risorsa. -
Non puoi eliminare uno stack se un altro stack fa riferimento a uno dei suoi output.
-
Non puoi modificare o rimuovere un valore di output cui fa riferimento un altro stack.
Puoi utilizzare le funzioni intrinseche per personalizzare il valore
Name
di un'esportazione. Nella prossima sezione sono riportati alcuni esempi. -
Per associare una condizione a un output, definisci la condizione nella sezione Conditions
del modello.
Esempi
Negli esempi seguenti viene illustrato il funzionamento dell'output dello stack.
Output dello stack
In questo esempio, l'output denominato BackupLoadBalancerDNSName
restituisce il nome DNS della risorsa con l'ID logico BackupLoadBalancer
solo quando la condizione CreateProdResources
è vera. Il secondo output mostra come specificare più output.
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
Personalizza il nome di esportazione utilizzando Fn::Sub
In questo esempio, l'output denominato StackVPC
restituisce l'ID di un VPC, quindi esporta il valore dei riferimenti tra stack con il nome VPCID
aggiunto alla fine del nome dello stack.
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"
Personalizza il nome di esportazione utilizzando Fn::Join
Gli esempi seguenti utilizzano la Fn::Join
funzione per personalizzare il nome di esportazione anziché la Fn::Sub
funzione. La Fn::Join
funzione di esempio concatena il nome dello stack con il nome VPCID
utilizzando i due punti come separatore.
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 ] ]