Configura variables de entorno para instancias

En esta página, se describe cómo configurar variables de entorno para tu instancia de Cloud Run.

Roles obligatorios

Para obtener los permisos que necesitas para configurar y, luego, implementar las instancias de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu instancia de Cloud Run interactúa con Google Cloud las APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.

Configura las variables de entorno

Puedes configurar variables de entorno para una instancia de Cloud Run con Google Cloud CLI o YAML:

gcloud

Para especificar variables de entorno mientras creas tu instancia, usa la --set-env-vars marca:

gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Reemplaza lo siguiente:

  • INSTANCE: el nombre de tu instancia
  • IMAGE_URL: una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest.
  • KEY1=VALUE1,KEY2=VALUE2: la lista separada por comas de nombres y valores de variables

Para obtener más información sobre cómo configurar varias variables de entorno o escapar caracteres especiales, consulta Configura varias variables de entorno.

YAML

  1. Si creas una instancia nueva, omite este paso. Si actualizas una instancia existente, descarga su configuración de YAML:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. En el siguiente ejemplo, se incluye la configuración de YAML:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - env:
        - name: KEY
          value: VALUE
        - name: KEY2
          value: VALUE2
        image: IMAGE

    Reemplaza lo siguiente:

    • INSTANCE: el nombre de tu instancia de Cloud Run.
    • KEY y VALUE: el nombre y los valores de las variables de entorno.
    • IMAGE_URL: una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest.
  3. Crea o actualiza la instancia con el siguiente comando:

    gcloud beta run instances replace instance.yaml

Configura variables de entorno predeterminadas en el contenedor

Puedes usar la ENV sentencia en un Dockerfile a fin de establecer valores predeterminados para las variables de entorno:

ENV KEY1=VALUE1,KEY2=VALUE2

Orden de prioridad: Comparación entre contenedores y variables de instancia

Si configuras una variable de entorno predeterminada en el contenedor y, también configuras una variable de entorno con el mismo nombre en la instancia de Cloud Run, el valor establecido en la instancia tiene prioridad.

Configura varias variables de entorno

Puedes configurar varias variables de entorno con el archivo .env o la marca --set-env-vars.

Configura varias variables de entorno con el archivo .env

gcloud

Para especificar varias variables de entorno desde el archivo .env, ejecuta el siguiente comando:

gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

Reemplaza lo siguiente:

  • INSTANCE: el nombre de la instancia.
  • IMAGE_URL: una referencia a la imagen del contenedor, como us-docker.pkg.dev/cloudrun/container/hello:latest.
  • ENV_FILE_PATH: ruta de acceso al archivo .env.

Configura varias variables de entorno con la marca --set-env-vars

Si tienes varias variables de entorno que no se pueden enumerar en formato KEY1=VALUE1,KEY2=VALUE2, puedes repetir varias veces la marca --set-env-vars:
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Caracteres de coma de escape

Debido a que el carácter de coma , se usa para dividir las variables de entorno, si la variable de entorno contiene caracteres de coma como valores, debes escapar esos delimitadores mediante la especificación de un carácter delimitador diferente, por ejemplo, @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Actualiza variables de entorno

Puedes actualizar las variables de entorno de ejecución para las instancias existentes. Este es un enfoque no destructivo que modifica o agrega variables de entorno de ejecución, pero no las borra.

Puedes actualizar variables de entorno con Google Cloud CLI o YAML:

gcloud

Para actualizar las variables de entorno de una instancia existente, usa la --update-env-vars marca:

gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Reemplaza lo siguiente:

  • INSTANCE: el nombre de tu instancia
  • KEY1=VALUE1,KEY2=VALUE2: la lista separada por comas de nombres y valores de variables

YAML

  1. Descarga la configuración YAML de la instancia:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Edita las variables de clave (nombre) y valor.

  3. Actualiza la instancia con el siguiente comando:

    gcloud beta run instances replace instance.yaml

Borra variables de entorno

gcloud

Para quitar variables de entorno de forma selectiva de una instancia existente, usa la --remove-env-vars marca:

gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2

Reemplaza lo siguiente:

  • INSTANCE: el nombre de tu instancia
  • KEY1,KEY2: la lista separada por comas de nombres de variables

Como alternativa, borra todas las variables de entorno configuradas previamente con la --clear-env-vars marca:

gcloud beta run instances update INSTANCE --clear-env-vars

Reemplaza INSTANCE por el nombre de tu instancia.

Código de muestra

Para ver una muestra de código que indica cómo acceder a las variables de entorno en tu código, consulta Cómo manejar la configuración sensible con Secret Manager en el instructivo de autenticación de usuarios finales.

¿Qué sigue?

Puedes usar variables de entorno para configurar una configuración de paquetes de compilación. Para obtener detalles específicos del lenguaje, consulta la documentación de los paquetes de compilación para lo siguiente: