

Avviso di fine del supporto: il 7 ottobre 2026, AWS terminerà il supporto per AWS Proton. Dopo il 7 ottobre 2026, non potrai più accedere alla AWS Proton console o AWS Proton alle risorse. L'infrastruttura implementata rimarrà intatta. Per ulteriori informazioni, consulta la [AWS Proton Service Deprecation and Migration Guide. ](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.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à.

# Crea una configurazione di sincronizzazione dei modelli
<a name="create-template-sync"></a>

Scopri come creare una configurazione di sincronizzazione dei modelli con AWS Proton.

**Crea i prerequisiti per la configurazione di sincronizzazione di un modello:**
+ Hai [ collegato un repository ](ag-create-repo.md) con. AWS Proton
+ Un pacchetto [ di modelli si ](ag-template-authoring.md#ag-template-bundles) trova nel tuo repository.

**Il link al repository è composto da quanto segue:**
+ Una CodeConnections connessione che consente di AWS Proton accedere al repository e sottoscrivere le relative notifiche.
+ Un ruolo [ collegato al ](using-service-linked-roles.md) servizio. Quando colleghi il tuo repository, il ruolo collegato al servizio viene creato automaticamente.

Prima di creare la prima configurazione di sincronizzazione dei modelli, inserisci un pacchetto di modelli nel tuo repository, come mostrato nel seguente layout di directory.

```
 /templates/                                                 # subdirectory (optional)
 /templates/my-env-template/                                 # template name
 /templates/my-env-template/v1/                              # template version
 /templates/my-env-template/v1/infrastructure/               # template bundle
 /templates/my-env-template/v1/schema/
```

Dopo aver creato la prima configurazione di sincronizzazione dei modelli, le nuove versioni del modello vengono create automaticamente quando invii un commit che aggiunge un pacchetto di modelli aggiornato in una nuova versione (ad esempio, sotto). `/my-env-template/v2/`

```
 /templates/                                                 # subdirectory (optional)
 /templates/my-env-template/                                 # template name
 /templates/my-env-template/v1/                              # template version
 /templates/my-env-template/v1/infrastructure/               # template bundle
 /templates/my-env-template/v1/schema/
 /templates/my-env-template/v2/
 /templates/my-env-template/v2/infrastructure/
 /templates/my-env-template/v2/schema/
```

Puoi includere nuove versioni del template bundle per uno o più modelli configurati con la sincronizzazione in un unico commit. AWS Proton crea una nuova versione del modello per ogni nuova versione del pacchetto di modelli inclusa nel commit.

Dopo aver creato la configurazione di sincronizzazione dei modelli, puoi comunque creare manualmente nuove versioni del modello nella console o con il caricamento dei pacchetti di modelli AWS CLI da un bucket S3. La sincronizzazione dei modelli funziona solo in una direzione: dal tuo repository a. AWS Proton Le versioni dei modelli create manualmente * non * vengono sincronizzate.

Dopo aver impostato una configurazione di sincronizzazione dei modelli, AWS Proton ascolta le modifiche nel tuo repository. Ogni volta che viene apportata una modifica, cerca qualsiasi directory con lo stesso nome del modello. Quindi cerca all'interno di quella directory tutte le directory che assomigliano alle versioni principali. AWS Proton registra il pacchetto di modelli nella versione principale del modello corrispondente. Le nuove versioni sono sempre nello stato. `DRAFT` Puoi [ pubblicare le nuove versioni ](template-create.md) con la console o AWS CLI.

Ad esempio, supponiamo di avere un modello chiamato `my-env-template` configurato per la sincronizzazione da `my-repo/templates` un ramo `main` con il layout seguente.

```
 /code
 /code/service.go
 README.md
 /templates/
 /templates/my-env-template/
 /templates/my-env-template/v1/
 /templates/my-env-template/v1/infrastructure/
 /templates/my-env-template/v1/schema/
 /templates/my-env-template/v2/
 /templates/my-env-template/v2/infrastructure/
 /templates/my-env-template/v2/schema/
```

AWS Proton sincronizza il contenuto di `/templates/my-env-template/v1/` to `my-env-template:1` e il contenuto di `/templates/my-env-template/v2/` to. `my-env-template:2` Se non esistono già, crea queste versioni principali.

AWS Proton ha trovato la prima directory che corrisponde al nome del modello. È possibile limitare le AWS Proton ricerche nelle directory specificando a `subdirectoryPath` quando si crea o si modifica una configurazione di sincronizzazione del modello. Ad esempio, puoi specificare `/production-templates/` per. `subdirectoryPath`

È possibile creare una configurazione di sincronizzazione del modello utilizzando la console o la CLI.

------
#### [ Console di gestione AWS ]

**Crea un modello e una configurazione di sincronizzazione dei modelli utilizzando la console.**

1. Nella [AWS Proton console](https://console.aws.amazon.com/proton/), scegli Modelli di ** ambiente**.

1. Scegli ** Crea modello di ambiente**.

1. Nella ** pagina ** Crea modello di ambiente, nella ** sezione Opzioni ** modello, scegli ** Crea un modello per il provisioning di nuovi ambienti**.

1. Nella ** sezione ** Template bundle source, scegli ** Sincronizza modelli da Git. **

1. Nella sezione ** Source code repository**:

   1. Per ** Repository**, seleziona il repository collegato che contiene il pacchetto di modelli.

   1. Per ** Branch**, seleziona un branch del repository da cui eseguire la sincronizzazione.

   1. (Facoltativo) Per la directory ** Template bundle**, inserisci il nome di una directory per definire l'ambito della ricerca del pacchetto di modelli.

1. Nella sezione Dettagli ** del ** modello.

   1. Inserisci un **Nome del modello**.

   1. (Facoltativo) Inserisci il nome visualizzato del ** modello**.

   1. (Facoltativo) Inserite una descrizione del ** modello ** per il modello di ambiente.

1. (Facoltativo) Seleziona la casella di controllo ** Personalizza le impostazioni di crittografia (avanzate) ** nella ** sezione Impostazioni di ** crittografia per fornire la tua chiave di crittografia.

1. (Facoltativo) Nella ** sezione ** Tag, scegli ** Aggiungi nuovo tag ** e inserisci una chiave e un valore per creare un tag gestito dal cliente.

1. Scegli il modello ** Crea ambiente**.

   Ora sei su una nuova pagina che mostra lo stato e i dettagli del tuo nuovo modello di ambiente. Questi dettagli includono un elenco di tag AWS gestiti e gestiti dal cliente. AWS Proton genera automaticamente tag AWS gestiti per te quando crei AWS Proton risorse. Per ulteriori informazioni, consulta [AWS Proton risorse e tag](resources.md).

1. Nella pagina dei dettagli del modello, scegli la ** scheda ** Sincronizza per visualizzare i dati dettagliati di configurazione della sincronizzazione del modello.

1. Scegli la ** scheda Versioni del ** modello per visualizzare le versioni del modello con i dettagli sullo stato.

1. Lo stato di un nuovo stato del modello di ambiente inizia nello ** stato ** Bozza. Tu e gli altri utenti con `proton:CreateEnvironment` autorizzazioni potete visualizzarlo e accedervi. Segui il passaggio successivo per rendere il modello disponibile ad altri.

1. Nella ** sezione Versioni del ** modello, scegli il pulsante di opzione a sinistra della versione secondaria del modello appena creato (1.0). In alternativa, puoi scegliere ** Pubblica ** nell'avviso informativo e saltare il passaggio successivo.

1. Nella ** sezione Versioni del ** modello, scegli ** Pubblica**.

1. Lo stato del modello cambia in ** Pubblicato**. È la ** versione più recente e ** consigliata del modello.

1. Nel riquadro di navigazione, seleziona Modelli di ** ambiente ** per visualizzare un elenco dei modelli e dei dettagli dell'ambiente.

La procedura per la creazione di un modello di servizio e la configurazione di sincronizzazione dei modelli è simile.

------
#### [ AWS CLI ]

**Crea un modello e una configurazione di sincronizzazione dei modelli utilizzando AWS CLI.**

1. 

**Crea un modello. In questo esempio, viene creato un modello di ambiente.**

   Eseguire il seguente comando seguente.

   ```
   $ aws proton create-environment-template \
       --name "{{env-template}}"
   ```

   La risposta è la seguente.

   ```
   {
       "environmentTemplate": {
           "arn": "arn:aws:proton:us-east-1:123456789012:environment-template/{{env-template}}",
           "createdAt": "2021-11-07T23:32:43.045000+00:00",
           "displayName": "{{env-template}}",
           "lastModifiedAt": "2021-11-07T23:32:43.045000+00:00",
           "name": "env-template",
           "status": "DRAFT",
           "templateName": "{{env-template}}"
       }
   }
   ```

1. 

**Crea la configurazione di sincronizzazione del modello con AWS CLI fornendo quanto segue:**
   + Il modello con cui desideri eseguire la sincronizzazione. Dopo aver creato la configurazione di sincronizzazione del modello, puoi comunque crearne nuove versioni manualmente nella console o con AWS CLI.
   + Il nome del modello.
   + Il tipo di modello.
   + Il repository collegato da cui desideri eseguire la sincronizzazione.
   + Il provider del repository collegato.
   + La filiale in cui si trova il pacchetto di modelli.
   + (Facoltativo) Il percorso della directory contenente il pacchetto di modelli. Per impostazione predefinita, AWS Proton cerca la prima directory che corrisponde al nome del modello.

   Eseguire il seguente comando seguente.

   ```
   $ aws proton create-template-sync-config \
       --template-name "{{env-template}}" \
       --template-type "{{ENVIRONMENT}}" \
       --repository-name "{{myrepos/templates}}" \
       --repository-provider "{{GITHUB}}" \
       --branch "{{main}}" \
       --subdirectory "{{env-template/}}"
   ```

   La risposta è la seguente.

   ```
   {
       "templateSyncConfigDetails": {
           "branch": "{{main}}",
           "repositoryName": "{{myrepos/templates}}",
           "repositoryProvider": "{{GITHUB}}",
           "subdirectory": "{{templates}}",
           "templateName": "{{env-template}}",
           "templateType": "{{ENVIRONMENT}}"
       }
   }
   ```

1. **Per pubblicare la versione del modello, consulta[Registra e pubblica i modelli](template-create.md). **

------

## Modelli di servizio di sincronizzazione
<a name="create-template-sync-service-templates"></a>

Gli esempi precedenti mostrano come sincronizzare i modelli di ambiente. I modelli di servizio sono simili. Per sincronizzare i modelli di servizio, aggiungi un file aggiuntivo denominato `.template-registration.yaml` a ciascuna directory delle versioni principali nel pacchetto di modelli. Questo file contiene dettagli aggiuntivi AWS Proton necessari per creare una versione del modello di servizio in seguito a un commit. Quando crei esplicitamente una versione del modello di servizio utilizzando la AWS Proton console o l'API, fornisci questi dettagli come input e questo file sostituisce questi input per la sincronizzazione del modello.

```
./templates/                                                 # subdirectory (optional)
 /templates/my-svc-template/                                 # service template name
 /templates/my-svc-template/v1/                              # service template version
 /templates/my-svc-template/v1/.template-registration.yaml   # service template version properties
 /templates/my-svc-template/v1/instance_infrastructure/      # template bundle
 /templates/my-svc-template/v1/schema/
```

Il `.template-registration.yaml` file contiene i seguenti dettagli:
+ **Ambienti compatibili ** [obbligatorio]: gli ambienti basati su questi modelli di ambiente e sulle versioni principali sono compatibili con i servizi basati su questa versione del modello di servizio.
+ **Fonti di componenti supportate ** [opzionale]: i componenti che utilizzano queste fonti sono compatibili con i servizi basati su questa versione del modello di servizio. Se non specificato, i componenti non possono essere collegati a questi servizi. Per ulteriori informazioni sui componenti, vedere[AWS Proton componenti](ag-components.md).

La sintassi YAML del file è la seguente:

```
compatible_environments:
  - {{env-templ-name}}:{{major-version}}
  - ...
supported_component_sources:
  - DIRECTLY_DEFINED
```

Specifica una o più combinazioni di modello di ambiente/versione principale. `supported_component_sources`La specificazione è facoltativa e l'unico valore supportato è`DIRECTLY_DEFINED`.

**Example .template-registration.yaml**  
In questo esempio, la versione del modello di servizio è compatibile con le principali versioni 1 e 2 del modello di ambiente. `my-env-template` È inoltre compatibile con le principali versioni 1 e 3 del modello di `another-env-template` ambiente. Il file non specifica`supported_component_sources`, quindi i componenti non possono essere collegati ai servizi in base a questa versione del modello di servizio.  

```
compatible_environments:
  - my-env-template:1
  - my-env-template:2
  - another-env-template:1
  - another-env-template:3
```

**Nota**  
In precedenza, AWS Proton definiva un file diverso`.compatible-envs`, per specificare gli ambienti compatibili. AWS Proton supporta ancora quel file e il suo formato per la compatibilità con le versioni precedenti. Non è più consigliabile utilizzarlo, perché non è estensibile e non può supportare funzionalità più recenti come i componenti.