Output - AWS CloudFormation

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 un Export non può utilizzare le funzioni Ref o GetAtt che dipendono da una risorsa.

    Allo stesso modo, la funzione ImportValue non può includere le funzioni Ref o GetAtt 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 ] ]