

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 Outputssintassi del modello
<a name="outputs-section-structure"></a>

La sezione `Outputs` facoltativa dichiara i valori di output per lo stack. Questi valori di output possono essere utilizzati in vari modi:
+ **Acquisizione di informazioni importanti sulle risorse**: un output è un modo pratico di acquisire informazioni importanti sulle risorse. Ad esempio, è puoi 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 comando [describe-stacks](service_code_examples.md#describe-stacks-sdk)CLI. 
+ **Riferimenti tra stack**: puoi importare valori di output in altri stack per [creare riferimenti tra stack](using-cfn-stack-exports.md). Questa funzione è utile quando devi condividere risorse o configurazioni su più stack.

**Importante**  
CloudFormation non oscura o offusca le informazioni incluse nella sezione. `Outputs` Ti consigliamo 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 stesso è in uno degli [stati](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes) `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
<a name="outputs-section-syntax"></a>

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
<a name="outputs-section-structure-syntax.json"></a>

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
<a name="outputs-section-structure-syntax.yaml"></a>

```
Outputs:
  OutputLogicalID:
    Description: Information about the value
    Value: Value to return
    Export:
      Name: Name of resource to export
```

### Campi di output
<a name="outputs-section-structure-output-fields"></a>

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` (facoltativo)**  
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`(richiesto)**  
Valore della proprietà restituita dal comando [describe-stacks](service_code_examples.md#describe-stacks-sdk). Il valore di un output può includere valori letterali, riferimenti a parametri, pseudo parametri, un valore di mappatura o funzioni intrinseche.

**`Export` (facoltativo)**  
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](using-cfn-stack-exports.md).

Per associare una condizione a un output, definisci la condizione nella sezione [Conditions](conditions-section-structure.md) del modello.

## Esempi
<a name="outputs-section-structure-examples"></a>

Negli esempi seguenti viene illustrato il funzionamento dell’output dello stack.

**Topics**
+ [Output dello stack](#outputs-section-structure-examples-stack-output)
+ [Personalizzazione del nome di esportazione con l’utilizzo di `Fn::Sub`](#outputs-section-structure-examples-cross-stack)
+ [Personalizzazione del nome di esportazione con l’utilizzo di `Fn::Join`](#outputs-section-structure-examples-join-export-name)
+ [Restituzione di un URL costruito utilizzando `Fn::Join`](#outputs-section-structure-examples-join-export-url)

### Output dello stack
<a name="outputs-section-structure-examples-stack-output"></a>

In questo esempio, l’output denominato `BackupLoadBalancerDNSName` restituisce il nome DNS della risorsa con l’ID logico `BackupLoadBalancer` solo quando la condizione `CreateProdResources` è vera. L’output denominato `InstanceID` restituisce l’ID dell’istanza EC2 con l’ID logico `EC2Instance`.

#### JSON
<a name="outputs-section-structure-example.json"></a>

```
"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
<a name="outputs-section-structure-example.yaml"></a>

```
Outputs:
  BackupLoadBalancerDNSName:
    Description: The DNSName of the backup load balancer
    Value: !GetAtt BackupLoadBalancer.DNSName
    Condition: CreateProdResources
  InstanceID:
    Description: The Instance ID
    Value: !Ref EC2Instance
```

### Personalizzazione del nome di esportazione con l’utilizzo di `Fn::Sub`
<a name="outputs-section-structure-examples-cross-stack"></a>

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
<a name="outputs-section-structure-cross-stack-example.json"></a>

```
"Outputs" : {
  "StackVPC" : {
    "Description" : "The ID of the VPC",
    "Value" : { "Ref" : "MyVPC" },
    "Export" : {
      "Name" : {"Fn::Sub": "${AWS::StackName}-VPCID" }
    }
  }
}
```

#### YAML
<a name="outputs-section-structure-cross-stack-example.yaml"></a>

```
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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-sub.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-sub.html).

### Personalizzazione del nome di esportazione con l’utilizzo di `Fn::Join`
<a name="outputs-section-structure-examples-join-export-name"></a>

Puoi anche utilizzare la funzione `Fn::Join` per creare valori in base a parametri, attributi delle risorse e altre stringhe.

Gli esempi seguenti utilizzano la funzione `Fn::Join` per personalizzare il nome di esportazione anziché la funzione `Fn::Sub`. La funzione `Fn::Join` di esempio concatena il nome dello stack con il nome `VPCID` utilizzando i due punti come separatore.

#### JSON
<a name="outputs-section-structure-join-export-name-example.json"></a>

```
"Outputs" : {
  "StackVPC" : {
    "Description" : "The ID of the VPC",
    "Value" : { "Ref" : "MyVPC" },
    "Export" : {
      "Name" : { "Fn::Join" : [ ":", [ { "Ref" : "AWS::StackName" }, "VPCID" ] ] }
    }
  }
}
```

#### YAML
<a name="outputs-section-structure-join-export-name-example.yaml"></a>

```
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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html).

### Restituzione di un URL costruito utilizzando `Fn::Join`
<a name="outputs-section-structure-examples-join-export-url"></a>

Nell'esempio seguente, per un modello che crea un WordPress sito, `InstallURL` è la stringa restituita da una chiamata di `Fn::Join` funzione che concatena`http://`, il nome DNS della risorsa e. `ElasticLoadBalancer` `/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
<a name="outputs-section-structure-examples-join-export-url.json"></a>

```
{
    "Outputs": {
        "InstallURL": {
            "Value": {
                "Fn::Join": [
                    "",
                    [
                        "http://",
                        {
                            "Fn::GetAtt": [
                                "ElasticLoadBalancer",
                                "DNSName"
                            ]
                        },
                        "/wp-admin/install.php"
                    ]
                ]
            },
            "Description": "Installation URL of the WordPress website"
        }
    }
}
```

#### YAML
<a name="outputs-section-structure-examples-join-export-url.yaml"></a>

```
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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-join.html).