

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de variables de entorno en una aplicación de Amplify
<a name="environment-variables"></a>

Las variables de entorno son pares de valor clave que se pueden añadir a la configuración de la aplicación para que estén disponibles en Amplify Hosting. Como práctica recomendada, puede utilizar variables de entorno para exponer los datos de configuración de la aplicación. Todas las variables de entorno que añada se cifran para evitar el acceso no autorizado.

Amplify aplica las siguientes restricciones a las variables de entorno que cree.
+ Amplify no permite crear nombres de variables de entorno con un prefijo `AWS`. Este prefijo se reserva para uso interno de Amplify.
+ El valor de una variable de entorno no puede superar los 5500 caracteres.

**importante**  
No utilice variables de entorno para almacenar claves secretas. Para una aplicación de Gen 2, use la característica **Administración de secretos** de la consola de Amplify. Para obtener más información, consulte [Secrets and environment vars](https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/secrets-and-vars/) en *Amplify Docs*. Para una aplicación de primera generación, guarda los secretos en un entorno secreto creado con el almacén de AWS Systems Manager parámetros. Para obtener más información, consulte [Administración de los secretos de entorno](environment-secrets.md).

## Referencia de variables de entorno de Amplify
<a name="amplify-console-environment-variables"></a>

Las siguientes variables de entorno son accesibles de forma predeterminada en la consola de Amplify.


****  

| Nombre de variable | Description (Descripción) | Ejemplo de valor | 
| --- | --- | --- | 
|  \$1BUILD\$1TIMEOUT  |  El tiempo de espera de la compilación en minutos. El valor mínimo es 5. El valor máximo es 120.  |  `30`  | 
|  \$1LIVE\$1UPDATES  |  La herramienta se actualizará a la última versión.  |  `[{"name":"Amplify CLI","pkg":"@aws-amplify/cli","type":"npm","version":"latest"}]`  | 
|  USER\$1DISABLE\$1TESTS  |  El paso de prueba se omite durante la compilación. Puede deshabilitar las pruebas en todas las ramificaciones o en ramificaciones específicas de una aplicación. Esta variable de entorno se utiliza para las aplicaciones que realizan pruebas durante la fase de compilación. Para obtener más información sobre cómo configurar esta variable, consulte [Desactivación de las pruebas de una aplicación o ramificación de Amplify](running-tests.md#disabling-tests).  |  `true`  | 
|  AWS\$1APP\$1ID  |  ID de aplicación de la compilación actual  |  `abcd1234`  | 
|  AWS\$1BRANCH  |  Nombre de ramificación de la compilación actual  |  `main`, `develop`, `beta`, `v2.0`  | 
|  AWS\$1BRANCH\$1ARN  |  El nombre de recurso de Amazon (ARN) de la ramificación de la compilación actual  | `aws:arn:amplify:us-west-2:123456789012:appname/branch/... ` | 
|  AWS\$1CLONE\$1URL  |  Dirección URL clonada utilizada para recuperar el contenido del repositorio de Git  |   `git@github.com:<user-name>/<repo-name>.git`   | 
|  AWS\$1COMMIT\$1ID  |  ID de confirmación de la compilación actual “HEAD” para las recompilaciones  |  `abcd1234`  | 
|  AWS\$1JOB\$1ID  |  ID de trabajo de la compilación actual. Este incluye relleno de ‘0’, por lo que siempre tiene la misma longitud.  |  `0000000001`  | 
|  AWS\$1PULL\$1REQUEST\$1ID  |  ID de solicitud de extracción de la compilación de vista previa web de la solicitud de extracción. Esta variable de entorno no está disponible cuando se utiliza AWS CodeCommit como proveedor de repositorios.  |  `1`  | 
|  AWS\$1PULL\$1REQUEST\$1SOURCE\$1BRANCH  |  El nombre de la ramificación de característica de una vista previa de una solicitud de extracción que se envía a una ramificación de aplicación en la consola de Amplify.  |  `featureA`  | 
|  AWS\$1PULL\$1REQUEST\$1DESTINATION\$1BRANCH  |  El nombre de la ramificación de aplicación de la consola de Amplify a la que se envía una solicitud de extracción de una rama de característica.  |  `main`  | 
|  AMPLIFY\$1AMAZON\$1CLIENT\$1ID  |  ID de cliente de Amazon  |  `123456`  | 
|  AMPLIFY\$1AMAZON\$1CLIENT\$1SECRET  |  Secreto del cliente de Amazon  |  `example123456`  | 
|  AMPLIFY\$1FACEBOOK\$1CLIENT\$1ID  |  ID de cliente de Facebook  |  `123456`  | 
|  AMPLIFY\$1FACEBOOK\$1CLIENT\$1SECRET  |  Secreto del cliente de Facebook  |  `example123456`  | 
|  AMPLIFY\$1GOOGLE\$1CLIENT\$1ID  |  ID de cliente de Google  |  `123456`  | 
|  AMPLIFY\$1GOOGLE\$1CLIENT\$1SECRET  |  Secreto del cliente de Google  |  `example123456`  | 
|  AMPLIFY\$1DIFF\$1DEPLOY  |  Habilite o deshabilite la implementación de frontend basada en diferencias. Para obtener más información, consulte [Configuración de la compilación e implementación de frontend basada en diferencias](edit-build-settings.md#enable-diff-deploy).  |  `true`  | 
|  AMPLIFY\$1DIFF\$1DEPLOY\$1ROOT  |  La ruta que se utilizará para realizar comparaciones de implementaciones de frontend basadas en diferencias en relación con la raíz del repositorio.  | `dist` | 
|  AMPLIFY\$1DIFF\$1BACKEND  |  Habilite o deshabilite las compilaciones de backend basadas en diferencias. Esto se aplica únicamente a las aplicaciones de Gen 1. Para obtener más información, consulte [Configuración de compilaciones de backend basadas en diferencias para una aplicación de Gen 1](edit-build-settings.md#enable-diff-backend)  | `true` | 
|  AMPLIFY\$1BACKEND\$1PULL\$1ONLY  |  Amplify gestiona esta variable de entorno. Esto se aplica únicamente a las aplicaciones de Gen 1. Para obtener más información, consulte [Edite un frontend existente para que apunte a un backend distinto](reuse-backends.md#reuse-backends-edit-existing)  | `true` | 
|  AMPLIFY\$1BACKEND\$1APP\$1ID  |  Amplify gestiona esta variable de entorno. Esto se aplica únicamente a las aplicaciones de Gen 1. Para obtener más información, consulte [Edite un frontend existente para que apunte a un backend distinto](reuse-backends.md#reuse-backends-edit-existing)  | `abcd1234` | 
|  AMPLIFY\$1SKIP\$1BACKEND\$1BUILD  |  Si no tiene una sección de backend en su especificación de compilación y desea deshabilitar las compilaciones de backend, establezca esta variable de entorno en `true`. Esto se aplica únicamente a las aplicaciones de Gen 1.  | `true` | 
|  AMPLIFY\$1ENABLE\$1DEBUG\$1OUTPUT  |  Establezca esta variable en `true` para imprimir un seguimiento full stack en los registros. Esto resulta útil para depurar los errores de compilación del backend.  | `true` | 
|  AMPLIFY\$1MONOREPO\$1APP\$1ROOT  |  La ruta que se utilizará para especificar la raíz de la aplicación de una aplicación monorepo en relación con la raíz de su repositorio.  | `apps/react-app` | 
|  AMPLIFY\$1USERPOOL\$1ID  |  ID de grupo de usuarios de Amazon Cognito importado para autenticación  |  `us-west-2_example`  | 
|  AMPLIFY\$1WEBCLIENT\$1ID  |  ID de cliente de aplicación que van a utilizar las aplicaciones web El cliente de aplicación debe configurarse con acceso al grupo de usuarios de Amazon Cognito especificado por la variable de entorno AMPLIFY\$1USERPOOL\$1ID.  | `123456` | 
|  AMPLIFY\$1NATIVECLIENT\$1ID  |  ID del cliente de aplicación que van a utilizar las aplicaciones nativas El cliente de aplicación debe configurarse con acceso al grupo de usuarios de Amazon Cognito especificado por la variable de entorno AMPLIFY\$1USERPOOL\$1ID.  | `123456` | 
|  AMPLIFY\$1IDENTITYPOOL\$1ID  |  ID de grupo de identidades de Amazon Cognito  |  `example-identitypool-id`  | 
|  AMPLIFY\$1PERMISSIONS\$1BOUNDARY\$1ARN  |  El ARN de la política de IAM que se utilizará como límite de permisos que se aplica a todos los roles de IAM creadas por Amplify.  |  `arn:aws:iam::123456789012:policy/example-policy`  | 
|  AMPLIFY\$1DESTRUCTIVE\$1UPDATES  |  Establezca esta variable de entorno como verdadera para permitir que una API de GraphQL se actualice con operaciones de esquema que pueden potencialmente provocar la pérdida de datos.  |  `true`  | 

**nota**  
Las variables de `AMPLIFY_AMAZON_CLIENT_SECRET` entorno `AMPLIFY_AMAZON_CLIENT_ID` y las variables de entorno son OAuth símbolos, no una clave de AWS acceso ni una clave secreta. 

## Variables de entorno del marco de frontend
<a name="frontend-framework-environment-variables"></a>

Si está desarrollando su aplicación con un marco de frontend que admite sus propias variables de entorno, es importante que comprenda que no son las mismas que las variables de entorno que configura en la consola de Amplify. Por ejemplo, React (con el prefijo REACT\$1APP) y Gatsby (con el prefijo GATSBY) permiten crear variables de entorno de tiempo de ejecución que esos marcos agrupan automáticamente en la compilación de producción de frontend. Para comprender los efectos del uso de estas variables de entorno para almacenar valores, consulte la documentación del marco de frontend que esté utilizando.

El almacenamiento de valores confidenciales, como las claves de API, dentro de estas variables de entorno prefijadas en el marco de frontend no es una práctica recomendada y no se recomienda en absoluto.

# Configuración de variables de entorno
<a name="setting-env-vars"></a>

Utilice las siguientes instrucciones para establecer las variables de entorno de una aplicación mediante la consola de Amplify.

**nota**  
**Las variables de entorno** se pueden ver en el menú de **configuración de la aplicación** de la consola de Amplify solo cuando se configura una aplicación para una implementación continua y conectada a un repositorio de git. Para obtener instrucciones sobre este tipo de implementación, consulte [Primeros pasos con el código existente](getting-started.md).

**Cómo configurar variables de entorno**

1. Inicia sesión en la consola de [Amplify Consola de administración de AWS](https://console.aws.amazon.com/amplify/) y ábrela.

1. En la consola de Amplify, elija **Alojamiento** y, a continuación, elija **Variables de entorno**.

1. En **Variables de entorno**, elija **Administrar variables**.

1. En **Variable**, introduzca su clave. En **Valor**, especifique su valor. De manera predeterminada, la consola de Amplify aplica las variables de entorno en todas las ramificaciones, de manera que no tenga que volver a introducir las variables cuando se conecta a una nueva ramificación.

1. (Opcional) Para personalizar una variable de entorno específica de una ramificación, añada una anulación de ramificación de la siguiente manera: 

   1. Elija **Acciones** y, a continuación, elija **Añadir anulación de variable**.

   1. Ahora tiene un conjunto de variables de entorno específicas de su ramificación.

1. Seleccione **Save**.

## Cree un nuevo entorno de backend con parámetros de autenticación para el inicio de sesión en redes sociales
<a name="creating-a-new-backend-environment-with-authentication-parameters"></a>

**Para conectar una ramificación a una aplicación**

1. Inicia sesión en la consola de [Amplify Consola de administración de AWS](https://console.aws.amazon.com/amplify/) y ábrela.

1. El procedimiento para conectar una ramificación a una aplicación varía en función de si se conecta una ramificación a una aplicación nueva o a una aplicación existente.
   + **Conexión de una ramificación a una nueva aplicación**

     1. En la página de **configuración de compilación**, busque la sección de **selección de un entorno de backend para utilizarlo con esta ramificación**. En **Entorno**, elija **Crear un nuevo entorno** e introduzca el nombre del entorno de backend. La siguiente captura de pantalla muestra la sección de **selección de un entorno de backend para utilizarlo con esta ramificación** de la página de **configuración de compilación** con el nombre de entorno de backend **backend** introducido.  
![\[La sección Selección de un entorno de backend para utilizarlo con esta ramificación de la página Configuración de compilación.\]](http://docs.aws.amazon.com/es_es/amplify/latest/userguide/images/amplify-newenvironment-1.png)

     1. Amplíe la sección **Configuración avanzada** de la página **Configuración de compilación** y añada variables de entorno para las claves de inicio de sesión en redes sociales. Por ejemplo, **AMPLIFY\$1FACEBOOK\$1CLIENT\$1SECRET** es una variable de entorno válida. Para ver la lista de variables de entorno del sistema Amplify que están disponibles de forma predeterminada, consulte la tabla de [Referencia de variables de entorno de Amplify](environment-variables.md#amplify-console-environment-variables).
   + **Conexión de una ramificación a una aplicación existente**

     1. Si va a conectar una nueva ramificación a una aplicación existente, configure las variables del entorno de inicio de sesión en redes sociales antes de conectar la ramificación. En el panel de navegación, elija **Configuración de la aplicación** y **Variables de entorno**.

     1. En la sección **Variables de entorno**, elija **Administrar variables**.

     1. En la sección **Administrar variables**, elija **Añadir variable**.

     1. En **Variable** (clave), introduzca su ID de cliente. En **Valor**, escriba la clave secreta del cliente.

     1. Elija **Guardar**.

# Administración de los secretos de entorno
<a name="environment-secrets"></a>

Con el lanzamiento de Amplify Gen 2, el flujo de trabajo de los secretos de entorno se optimiza para centralizar la administración de los secretos y las variables de entorno en la consola de Amplify. Para obtener instrucciones sobre cómo configurar y acceder a los secretos de una aplicación de Amplify Gen 2, consulte [Secrets and environment vars](https://docs.amplify.aws/react/deploy-and-host/fullstack-branching/secrets-and-vars/) en la *documentación de Amplify*.

Los secretos de entorno de una aplicación de Gen 1 son similares a las variables de entorno, pero son pares de valor clave del almacén de parámetros de AWS Systems Manager que se pueden cifrar. Algunos valores deben estar cifrados, como la clave privada del inicio de sesión con Apple de Amplify.

## Se usa AWS Systems Manager para establecer los secretos del entorno para una aplicación Amplify Gen 1
<a name="set-environment-secrets"></a>

Usa las siguientes instrucciones para establecer un secreto de entorno para una aplicación Amplify de primera generación mediante la AWS Systems Manager consola.

**Para establecer un secreto de entorno**

1. Inicie sesión en la [AWS Systems Manager consola Consola de administración de AWS](https://console.aws.amazon.com/systems-manager/) y ábrala.

1. En el panel de navegación, elija **Administración de aplicaciones** y, a continuación, elija **Almacén de parámetros**.

1. En la página **Almacén de parámetros de AWS Systems Manager**, elija **Crear parámetro**.

1. En la página **Crear parámetro**, en la sección **Detalles de parámetro**, haga lo siguiente:

   1. En **Nombre**, introduzca un parámetro con el formato **/amplify/\$1your\$1app\$1id\$1/\$1your\$1backend\$1environment\$1name\$1/\$1your\$1parameter\$1name\$1**.

   1. En **Type (Tipo)**, elija **SecureString**.

   1. En **Fuente de clave de KMS**, elija **Mi cuenta actual** para utilizar la clave predeterminada de su cuenta.

   1. En **Valor**, introduzca el valor secreto para cifrarlo.

1. Elija **Crear parámetro**.

**nota**  
Amplify solo tiene acceso a las claves de la compilación del entorno específico de `/amplify/{your_app_id}/{your_backend_environment_name}`. Debe especificar el valor predeterminado AWS KMS key para permitir que Amplify descifre el valor.

## Acceso a los secretos de entorno de una aplicación de Gen 1
<a name="access-environment-secrets"></a>

Los secretos del entorno de una aplicación de primera generación se almacenan en `process.env.secrets` como una cadena JSON.

## Referencia de secretos de entorno de Amplify
<a name="amplify-environment-secrets"></a>

Especifique un parámetro de Systems Manager en el formato `/amplify/{your_app_id}/{your_backend_environment_name}/AMPLIFY_SIWA_CLIENT_ID`.

Puede utilizar los siguientes secretos de entorno a los que se puede acceder de forma predeterminada en la consola de Amplify.


****  

| Nombre de variable | Description (Descripción) | Ejemplo de valor | 
| --- | --- | --- | 
|  AMPLIFY\$1SIWA\$1CLIENT\$1ID  |  ID de inicio de sesión con ID de cliente SignInWithApple  |  `com.yourapp.auth`  | 
|  AMPLIFY\$1SIWA\$1TEAM\$1ID  |  ID de inicio de sesión con el equipo de Apple  |  `ABCD123`  | 
|  AMPLIFY\$1SIWA\$1KEY\$1ID  |  ID clave de inicio de sesión con clave de Apple  |  `ABCD123`  | 
|  AMPLIFY\$1SIWA\$1PRIVATE\$1KEY  |  Clave privada de inicio de sesión con Apple  |  -----INICIAR CLAVE PRIVADA----- \$1\$1\$1\$1...... -----FINALIZAR CLAVE PRIVADA-----  | 