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à.
CloudFormation modello Outputs sintassi
La Outputs
sezione opzionale dichiara i valori di output per lo stack. Questi valori di output possono essere utilizzati in vari modi:
-
Acquisisci dettagli importanti sulle tue risorse: un output è un modo conveniente per acquisire informazioni importanti sulle tue risorse. Ad esempio, è possibile restituire l'output di un nome di bucket S3 per uno stack per semplificare la ricerca del bucket. È possibile visualizzare i valori di output nella scheda Output della CloudFormation console o utilizzando il describe-stacksCLIcomando.
-
Riferimenti cross-stack: è possibile importare valori di output in altre pile per creare riferimenti tra pile. Ciò è utile quando è necessario condividere risorse o configurazioni su più stack.
Importante
CloudFormation non oscura o offusca le informazioni incluse nella sezione. Outputs
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 si trova in uno qualsiasi degli stati. 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
. 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" : { "
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
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. Description
(opzionale)-
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. Value
(obbligatorio)-
Il valore della proprietà restituito dal describe-stackscomando. Il valore di un output può includere valori letterali, riferimenti a parametri, pseudoparametri, un valore di mappatura o funzioni intrinseche.
Export
(opzionale)-
Nome dell'output della risorsa da esportare in un riferimento tra stack.
Puoi utilizzare le funzioni intrinseche per personalizzare il valore
Name
di un'esportazione.Per ulteriori informazioni, consulta Ottieni gli output esportati da uno stack distribuito CloudFormation.
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.
Argomenti
Output dello stack
Nell'esempio seguente, l'output denominato BackupLoadBalancerDNSName
restituisce il DNS nome della risorsa con l'ID logico BackupLoadBalancer
solo quando la CreateProdResources
condizione è vera. L'output denominato InstanceID
restituisce l'ID dell'EC2istanza con l'ID logicoEC2Instance
.
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
Negli esempi seguenti, l'output denominato StackVPC
restituisce l'ID di aVPC, quindi esporta il valore per il riferimento incrociato con il nome VPCID
aggiunto al 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"
Per ulteriori informazioni sulla funzione Fn::Sub
, consulta Fn::Sub.
Personalizza il nome di esportazione utilizzando Fn::Join
È inoltre possibile utilizzare la Fn::Join
funzione per costruire valori basati su parametri, attributi delle risorse e altre stringhe.
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 ] ]
Per ulteriori informazioni sulla funzione Fn::Join
, consulta Fn::Join.
URLRestituisce un oggetto costruito usando Fn::Join
Nell'esempio seguente di un modello che crea un WordPress sito, InstallURL
è la stringa restituita da una chiamata di Fn::Join
funzione che concatenahttp://
, il DNS nome della risorsa ElasticLoadBalancer
e. /wp-admin/install.php
Il valore di output dovrebbe essere simile al seguente:
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
Per ulteriori informazioni sulla funzione Fn::Join
, consulta Fn::Join.