

Questa è la nuova *Guida di riferimento ai modelli CloudFormation *. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la [Guida AWS CloudFormation per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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à.

# Trasformazione `AWS::Include`
<a name="transform-aws-include"></a>

Questo argomento descrive come utilizzare la `AWS::Include` trasformazione per inserire contenuti standard nei modelli. CloudFormation 

`AWS::Include`È una CloudFormation macro che, quando viene referenziata nel modello di stack, inserisce il contenuto del file specificato nella posizione della trasformazione nel modello quando si crea o si aggiorna uno stack utilizzando un set di modifiche. La funzione `AWS::Include` ha un comportamento analogo a una direttiva `include`, `copy` o `import` dei linguaggi di programmazione.

## Utilizzo
<a name="aws-include-usage"></a>

È possibile utilizzare la `AWS::Include` trasformazione ovunque all'interno del CloudFormation modello tranne nella sezione dei parametri del modello o nella versione del modello. Ad esempio, è possibile utilizzare `AWS::Include` nella sezione delle mappature.

### Sintassi al livello superiore di un modello
<a name="aws-include-syntax-top-level"></a>

Per dichiarare questa trasformazione al livello più alto del CloudFormation modello, come `Transform` sezione, utilizzate la seguente sintassi:

#### JSON
<a name="aws-include-syntax-top-level.json"></a>

```
{
  "Transform":{
    "Name":"AWS::Include",
    "Parameters":{
      "Location":"s3://amzn-s3-demo-bucket/MyFileName.json"
    }
  },
  "Resources":{
    ...
  }
}
```

#### YAML
<a name="aws-include-syntax-top-level.yaml"></a>

```
Transform:
  Name: AWS::Include
  Parameters:
    Location: 's3://amzn-s3-demo-bucket/MyFileName.yaml'
Resources:
  ...
```

### Sintassi da utilizzare quando la trasformazione è incorporata in una sezione di un modello
<a name="aws-include-syntax-within-section"></a>

Per dichiarare questa trasformazione all'interno di una sezione del CloudFormation modello, utilizzate la funzione `Fn::Transform` intrinseca e la seguente sintassi:

#### JSON
<a name="aws-include-syntax-within-section.json"></a>

```
{
  "Fn::Transform":{
    "Name":"AWS::Include",
    "Parameters":{
      "Location":"s3://amzn-s3-demo-bucket/MyFileName.json"
    }
  }
}
```

#### YAML
<a name="aws-include-syntax-within-section.yaml"></a>

```
Fn::Transform:
  Name: AWS::Include
  Parameters:
    Location: s3://amzn-s3-demo-bucket/MyFileName.yaml
```

Per ulteriori informazioni, consulta [`Fn::Transform`](intrinsic-function-reference-transform.md).

### Parameters
<a name="aws-include-parameters"></a>

`Location`

Il percorso è un URI Amazon S3, con un determinato nome di file in un bucket S3. Ad esempio, `s3://amzn-s3-demo-bucket/MyFile.yaml`.

## Considerazioni
<a name="aws-include-considerations"></a>

Quando utilizzi `AWS::Include`, tieni presente le considerazioni riportate di seguito. Per ulteriori considerazioni sull’uso delle macro, consulta [Macros considerations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros-overview.html#template-macros-considerations) nella *Guida per l’utente di AWS CloudFormation *.
+ Attualmente supportiamo URI Amazon S3, ma nessun altro formato Amazon S3 (ad esempio ARN Amazon S3). Deve essere un bucket Amazon S3, anziché qualcosa come un repository. GitHub 
+ Tutti gli utenti con accesso all’URL Amazon S3 possono includere il frammento nel proprio modello.
+ I tuoi frammenti di modello devono essere in formato JSON valido.
+ I tuoi frammenti di modello devono essere oggetti chiave-valore, ad esempio, `"KeyName": "keyValue"`.
+ Non puoi utilizzare `AWS::Include` per fare riferimento a un frammento di codice che utilizza anche `AWS::Include`.
+ Se i frammenti cambiano, lo stack non include automaticamente le modifiche. Per includere le modifiche, devi aggiornare lo stack con i frammenti aggiornati. Se aggiorni lo stack, assicurati che i frammenti inclusi non siano cambiati a tua insaputa. Per verificare prima di aggiornare lo stack, controlla il set di modifiche.
+ Durante la creazione di modelli e frammenti, puoi combinare i linguaggi di modello YAML e JSON.
+ Attualmente non supportiamo l’utilizzo di notazioni abbreviate per i frammenti YAML.
+ È possibile fornire un URI Amazon S3 di replica in più Regioni con `AWS::Include`. Assicurati di verificare i nomi dei bucket Amazon S3 durante l’accesso agli oggetti di replica in più Regioni. Per maggiori informazioni, consulta [Replicating objects within and across Regions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) nella *Guida per l’utente di Amazon S3*.

## Esempi
<a name="aws-include-examples"></a>

L’esempio seguente mostra come utilizzare la trasformazione `AWS::Include` per eseguire un handle di condizione di attesa. Sostituisci *amzn-s3-demo-bucket* con il nome effettivo del bucket. 

Innanzitutto, salva un file YAML denominato `single_wait_condition.yaml` nel tuo bucket S3 con il seguente contenuto:

```
MyWaitCondition:
  Type: AWS::CloudFormation::WaitCondition
  Properties:
    Handle: !Ref MyWaitHandle
    Timeout: '4500'
```

Quindi, puoi fare riferimento a questo file utilizzando il formato JSON o YAML.

### JSON
<a name="aws-include-example.json"></a>

```
{
   "Resources": {
      "MyWaitHandle": {
         "Type": "AWS::CloudFormation::WaitConditionHandle"
      },
      "Fn::Transform": {
         "Name": "AWS::Include",
         "Parameters": {
            "Location": "s3://amzn-s3-demo-bucket/single_wait_condition.yaml"
         }
      }
   }
}
```

### YAML
<a name="aws-include-example.yaml"></a>

```
Resources:
  MyWaitHandle:
    Type: AWS::CloudFormation::WaitConditionHandle
  Fn::Transform:
    Name: AWS::Include
    Parameters:
      Location: "s3://amzn-s3-demo-bucket/single_wait_condition.yaml"
```

*Per ulteriori informazioni, consulta [Creare condizioni di attesa in un CloudFormation modello nella Guida per](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-waitcondition.html) l'AWS CloudFormation utente.*