

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

# Utilizzo delle variabili di ambiente in un'applicazione Amplify
<a name="environment-variables"></a>

Le variabili di ambiente sono coppie chiave-valore che puoi aggiungere alle impostazioni dell'applicazione per renderle disponibili ad Amplify Hosting. Come best practice, è possibile utilizzare le variabili di ambiente per esporre i dati di configurazione dell'applicazione. Tutte le variabili di ambiente aggiunte sono crittografate per impedire accessi non autorizzati.

Amplify applica i seguenti vincoli alle variabili di ambiente create.
+ Amplify non consente di creare nomi di variabili di ambiente con un prefisso. `AWS` Questo prefisso è riservato solo per uso interno di Amplify.
+ Il valore di una variabile di ambiente non può superare i 5500 caratteri.

**Importante**  
Non utilizzare variabili di ambiente per memorizzare segreti. Per un'app di seconda generazione, utilizza la funzionalità di **gestione segreta** nella console Amplify. Per ulteriori informazioni, consulta [Secrets and environment vars nella documentazione](https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/secrets-and-vars/) di *Amplify.* Per un'app di prima generazione, archivia i segreti in un ambiente segreto creato utilizzando Parameter Store. AWS Systems Manager Per ulteriori informazioni, consulta [Gestione dei segreti ambientali](environment-secrets.md).

## Riferimento alla variabile di ambiente Amplify
<a name="amplify-console-environment-variables"></a>

Le seguenti variabili di ambiente sono accessibili per impostazione predefinita all'interno della console Amplify.


****  

| Nome della variabile | Description | Valore di esempio | 
| --- | --- | --- | 
|  \$1BUILD\$1TIMEOUT  |  La durata del timeout di compilazione in minuti. Il valore minimo è 5. Il valore massimo è 120.  |  `30`  | 
|  \$1LIVE\$1UPDATES  |  Lo strumento verrà aggiornato alla versione più recente.  |  `[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]`  | 
|  USER\$1DISABLE\$1TESTS  |  La fase di test viene saltata durante la compilazione. Puoi disabilitare i test per tutte le filiali o per quelle specifiche di un'app. Questa variabile di ambiente viene utilizzata per le app che eseguono test durante la fase di compilazione. Per ulteriori informazioni sull'impostazione di questa variabile, vedere[Disattivazione dei test per un'applicazione o un ramo Amplify](running-tests.md#disabling-tests).  |  `true`  | 
|  AWS\$1APP\$1ID  |  ID dell'applicazione della compilazione corrente  |  `abcd1234`  | 
|  AWS\$1BRANCH  |  Nome del ramo della compilazione corrente  |  `main`, `develop`, `beta`, `v2.0`  | 
|  AWS\$1BRANCH\$1ARN  |  La filiale Amazon Resource Name (ARN) della build corrente  | `aws:arn:amplify:us-west-2:123456789012:appname/branch/... ` | 
|  AWS\$1CLONE\$1URL  |  URL di clonazione utilizzato per recuperare i contenuti del repository git  |   `git@github.com:<user-name>/<repo-name>.git`   | 
|  AWS\$1COMMIT\$1ID  |  L'ID di commit della build corrente «HEAD» per le ricostruzioni  |  `abcd1234`  | 
|  AWS\$1JOB\$1ID  |  ID processo della compilazione corrente. Questo include una certa imbottitura di '0' in modo che abbia sempre la stessa lunghezza.  |  `0000000001`  | 
|  AWS\$1PULL\$1REQUEST\$1ID  |  L'ID della pull request della build di anteprima web della pull request. Questa variabile di ambiente non è disponibile quando viene utilizzata AWS CodeCommit come provider di repository.  |  `1`  | 
|  AWS\$1PULL\$1REQUEST\$1SOURCE\$1BRANCH  |  Il nome del feature branch per l'anteprima di una pull request inviata a un ramo dell'applicazione nella console Amplify.  |  `featureA`  | 
|  AWS\$1PULL\$1REQUEST\$1DESTINATION\$1BRANCH  |  Il nome del ramo dell'applicazione nella console Amplify a cui viene inviata una richiesta pull del feature branch.  |  `main`  | 
|  AMPLIFY\$1AMAZON\$1CLIENT\$1ID  |  L'ID client Amazon  |  `123456`  | 
|  AMPLIFY\$1AMAZON\$1CLIENT\$1SECRET  |  Il segreto del cliente Amazon  |  `example123456`  | 
|  AMPLIFY\$1FACEBOOK\$1CLIENT\$1ID  |  L'ID del client di Facebook  |  `123456`  | 
|  AMPLIFY\$1FACEBOOK\$1CLIENT\$1SECRET  |  Il segreto del client di Facebook  |  `example123456`  | 
|  AMPLIFY\$1GOOGLE\$1CLIENT\$1ID  |  L'ID del client Google  |  `123456`  | 
|  AMPLIFY\$1GOOGLE\$1CLIENT\$1SECRET  |  Il segreto del client Google  |  `example123456`  | 
|  AMPLIFY\$1DIFF\$1DEPLOY  |  Abilita o disabilita la distribuzione frontend basata su diff. Per ulteriori informazioni, consulta [Configurazione della compilazione e della distribuzione del frontend basato su diff](edit-build-settings.md#enable-diff-deploy).  |  `true`  | 
|  AMPLIFY\$1DIFF\$1DEPLOY\$1ROOT  |  Il percorso da utilizzare per i confronti delle distribuzioni frontend basate su diff, rispetto alla radice del repository.  | `dist` | 
|  AMPLIFY\$1DIFF\$1BACKEND  |  Abilita o disabilita le build di backend basate su diff. Questo vale solo per le app di prima generazione. Per ulteriori informazioni, consulta [Configurazione di build di backend basate su diff per un'app di prima generazione](edit-build-settings.md#enable-diff-backend)  | `true` | 
|  AMPLIFY\$1BACKEND\$1PULL\$1ONLY  |  Amplify gestisce questa variabile d'ambiente. Questo vale solo per le app di prima generazione. Per ulteriori informazioni, consulta [Modifica un frontend esistente in modo che punti a un backend diverso](reuse-backends.md#reuse-backends-edit-existing)  | `true` | 
|  AMPLIFY\$1BACKEND\$1APP\$1ID  |  Amplify gestisce questa variabile d'ambiente. Questo vale solo per le app di prima generazione. Per ulteriori informazioni, consulta [Modifica un frontend esistente in modo che punti a un backend diverso](reuse-backends.md#reuse-backends-edit-existing)  | `abcd1234` | 
|  AMPLIFY\$1SKIP\$1BACKEND\$1BUILD  |  Se non hai una sezione di backend nelle specifiche della build e desideri disabilitare le build di backend, imposta questa variabile di ambiente su. `true` Questo vale solo per le app di prima generazione.  | `true` | 
|  AMPLIFY\$1ENABLE\$1DEBUG\$1OUTPUT  |  Imposta questa variabile su `true` per stampare una traccia dello stack nei log. Questo è utile per il debug degli errori di compilazione del backend.  | `true` | 
|  AMPLIFY\$1MONOREPO\$1APP\$1ROOT  |  Il percorso da utilizzare per specificare la radice dell'app di un'app monorepo, relativa alla radice del repository.  | `apps/react-app` | 
|  AMPLIFY\$1USERPOOL\$1ID  |  L'ID per il pool di utenti di Amazon Cognito importato per l'autenticazione  |  `us-west-2_example`  | 
|  AMPLIFY\$1WEBCLIENT\$1ID  |  L'ID del client dell'app che deve essere utilizzato dalle applicazioni Web Il client dell'app deve essere configurato con l'accesso al pool di utenti di Amazon Cognito specificato dalla variabile di ambiente AMPLIFY\$1USERPOOL\$1ID.  | `123456` | 
|  AMPLIFY\$1NATIVECLIENT\$1ID  |  L'ID del client dell'app che deve essere utilizzato dalle applicazioni native Il client dell'app deve essere configurato con l'accesso al pool di utenti di Amazon Cognito specificato dalla variabile di ambiente AMPLIFY\$1USERPOOL\$1ID.  | `123456` | 
|  AMPLIFY\$1IDENTITYPOOL\$1ID  |  L'ID per il pool di identità di Amazon Cognito  |  `example-identitypool-id`  | 
|  AMPLIFY\$1PERMISSIONS\$1BOUNDARY\$1ARN  |  L'ARN per la policy IAM da utilizzare come limite di autorizzazioni che si applica a tutti i ruoli IAM creati da Amplify.  |  `arn:aws:iam::123456789012:policy/example-policy`  | 
|  AMPLIFY\$1DESTRUCTIVE\$1UPDATES  |  Imposta questa variabile di ambiente su true per consentire l'aggiornamento di un'API GraphQL con operazioni di schema che possono potenzialmente causare la perdita di dati.  |  `true`  | 

**Nota**  
Le variabili `AMPLIFY_AMAZON_CLIENT_ID` di `AMPLIFY_AMAZON_CLIENT_SECRET` ambiente sono OAuth token, non una chiave di AWS accesso e una chiave segreta. 

## Variabili di ambiente del framework frontend
<a name="frontend-framework-environment-variables"></a>

Se stai sviluppando la tua app con un framework frontend che supporta le proprie variabili di ambiente, è importante capire che queste non sono le stesse variabili di ambiente che configuri nella console Amplify. Ad esempio, React (prefisso REACT\$1APP) e Gatsby (prefisso GATSBY), consentono di creare variabili di ambiente di runtime che tali framework raggruppano automaticamente nella build di produzione del frontend. Per comprendere gli effetti dell'utilizzo di queste variabili di ambiente per memorizzare valori, consulta la documentazione del framework di frontend che stai utilizzando.

La memorizzazione di valori sensibili, come le chiavi API, all'interno di queste variabili di ambiente con prefisso del framework di frontend non è una buona pratica ed è altamente sconsigliata.

# Impostazione delle variabili di ambiente
<a name="setting-env-vars"></a>

Usa le seguenti istruzioni per impostare le variabili di ambiente per un'applicazione nella console Amplify.

**Nota**  
**Le variabili di ambiente** sono visibili nel menu delle impostazioni **dell'app della console Amplify solo quando un'app** è configurata per la distribuzione continua e connessa a un repository git. Per istruzioni su questo tipo di distribuzione, consulta [Guida introduttiva](getting-started.md) al codice esistente.

**Per impostare le variabili di ambiente**

1. Accedi Console di gestione AWS e apri la console [Amplify.](https://console.aws.amazon.com/amplify/)

1. **Nella console Amplify, **scegli Hosting, quindi scegli** Variabili di ambiente.**

1. Nella pagina **Variabili di ambiente, scegli **Gestisci** variabili**.

1. Per **Variabile**, inserisci la tua chiave. Per **Valore**, inserisci il tuo valore. Per impostazione predefinita, Amplify applica le variabili di ambiente a tutti i rami, quindi non è necessario reinserire le variabili quando si collega un nuovo ramo.

1. (Facoltativo) Per personalizzare una variabile di ambiente specifica per un ramo, aggiungete un branch override come segue: 

   1. Scegliete **Azioni**, quindi scegliete **Aggiungi override variabile**.

   1. A questo punto è stata impostato un set di variabili d'ambiente specifiche per il branch.

1. Scegli **Save** (Salva).

## Crea un nuovo ambiente di backend con parametri di autenticazione per l'accesso tramite social
<a name="creating-a-new-backend-environment-with-authentication-parameters"></a>

**Per connettere una filiale a un'app**

1. Accedi Console di gestione AWS e apri la console [Amplify.](https://console.aws.amazon.com/amplify/)

1. La procedura per connettere una filiale a un'app varia a seconda che si stia connettendo una filiale a una nuova app o a un'app esistente.
   + **Connessione di una filiale a una nuova app**

     1. Nella pagina **delle impostazioni di build**, individua la sezione **Seleziona un ambiente di backend da utilizzare con questo ramo**. Per **Ambiente**, scegli **Crea nuovo ambiente** e inserisci il nome del tuo ambiente di backend. La schermata seguente mostra la sezione **Seleziona un ambiente di backend da usare con questo ramo** della pagina delle **impostazioni di build** con cui è stato **backend** inserito il nome dell'ambiente di backend.  
![\[La sezione Seleziona un ambiente di backend da usare con questo ramo della pagina delle impostazioni di Build.\]](http://docs.aws.amazon.com/it_it/amplify/latest/userguide/images/amplify-newenvironment-1.png)

     1. Espandi la sezione **Impostazioni avanzate** nella pagina **delle impostazioni di Build** e aggiungi le variabili di ambiente per le chiavi di accesso social. Ad esempio, **AMPLIFY\$1FACEBOOK\$1CLIENT\$1SECRET** è una variabile di ambiente valida. Per l'elenco delle variabili di ambiente del sistema Amplify disponibili per impostazione predefinita, vedere la tabella in. [Riferimento alla variabile di ambiente Amplify](environment-variables.md#amplify-console-environment-variables)
   + **Connessione di una filiale a un'app esistente**

     1. Se stai connettendo una nuova filiale a un'app esistente, imposta le variabili di ambiente di accesso social prima di connettere la filiale. Nel pannello di navigazione, scegli **Impostazioni app**, **Variabili di ambiente**.

     1. Nella sezione **Variabili di ambiente**, scegli **Gestisci variabili**.

     1. Nella sezione **Gestisci variabili**, scegli **Aggiungi variabile**.

     1. Per **Variabile** (chiave), inserisci il tuo ID cliente. In **Value**, inserisci il segreto del tuo cliente.

     1. Scegli, **Salva**.

# Gestione dei segreti ambientali
<a name="environment-secrets"></a>

Con il rilascio di Amplify Gen 2, il flusso di lavoro per i segreti ambientali è semplificato per centralizzare la gestione dei segreti e delle variabili di ambiente nella console Amplify. *Per istruzioni sull'impostazione e l'accesso ai segreti per un'app Amplify Gen 2, [consulta Segreti e variabili di ambiente](https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/secrets-and-vars/) nella documentazione di Amplify.*

I segreti ambientali per un'app di prima generazione sono simili alle variabili di ambiente, ma sono coppie di valori chiave di AWS Systems Manager Parameter Store che possono essere crittografate. Alcuni valori devono essere crittografati, ad esempio la chiave privata Accedi con Apple per Amplify.

## Utilizzo AWS Systems Manager per impostare segreti ambientali per un'applicazione Amplify Gen 1
<a name="set-environment-secrets"></a>

Usa le seguenti istruzioni per impostare un ambiente segreto per un'app Amplify di prima generazione utilizzando la console. AWS Systems Manager 

**Per impostare un segreto ambientale**

1. Accedi a Console di gestione AWS e apri la [AWS Systems Manager console](https://console.aws.amazon.com/systems-manager/).

1. Nel riquadro di navigazione, scegli **Gestione applicazioni**, quindi scegli **Parameter Store**.

1. Nella pagina **AWS Systems Manager Parameter Store**, scegli **Crea parametro**.

1. Nella pagina **Crea parametro**, nella sezione **Dettagli dei parametri**, procedi come segue:

   1. Per **Nome**, immettete un parametro nel formato**/amplify/\$1your\$1app\$1id\$1/\$1your\$1backend\$1environment\$1name\$1/\$1your\$1parameter\$1name\$1**.

   1. In **Tipo**, scegli **SecureString**.

   1. Per la **fonte della chiave KMS**, scegli **Il mio account corrente** per utilizzare la chiave predefinita per il tuo account.

   1. In **Value**, inserisci il valore segreto da crittografare.

1. Scegli, **Crea parametro**.

**Nota**  
Amplify ha accesso solo alle chiavi contenute nella build `/amplify/{your_app_id}/{your_backend_environment_name}` dell'ambiente specifico. È necessario specificare l'impostazione predefinita AWS KMS key per consentire ad Amplify di decrittografare il valore.

## Accesso ai segreti ambientali per un'applicazione di prima generazione
<a name="access-environment-secrets"></a>

I segreti ambientali per un'applicazione di prima generazione vengono archiviati `process.env.secrets` come stringa JSON.

## Riferimento ai segreti dell'ambiente Amplify
<a name="amplify-environment-secrets"></a>

Specificate un parametro Systems Manager nel formato`/amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID`.

È possibile utilizzare i seguenti segreti ambientali, accessibili per impostazione predefinita all'interno della console Amplify.


****  

| Nome della variabile | Description | Valore di esempio | 
| --- | --- | --- | 
|  AMPLIFY\$1SIWA\$1CLIENT\$1ID  |  L'accesso con l'ID client Apple  |  `com.yourapp.auth`  | 
|  AMPLIFY\$1SIWA\$1TEAM\$1ID  |  L'accesso con l'ID del team Apple  |  `ABCD123`  | 
|  AMPLIFY\$1SIWA\$1KEY\$1ID  |  L'ID Accedi con la chiave Apple  |  `ABCD123`  | 
|  AMPLIFY\$1SIWA\$1PRIVATE\$1KEY  |  L'accesso con la chiave privata Apple  |  -----CHIAVE PRIVATA DI INIZIO----- \$1\$1\$1\$1...... -----CHIAVE PRIVATA DI FINE CORSO-----  | 