Configura las variables de entorno para los trabajos

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

Cuando configuras las variables de entorno, se insertan en el contenedor y tu código puede acceder a ellas. Además, se establecen como pares clave-valor.

Nombres reservados

Las variables de entorno definidas en el contrato de entorno de ejecución del contenedor están reservadas y no se pueden configurar.

Cantidad máxima de variables de entorno

Ten en cuenta que puedes establecer un máximo de 1,000 variables de entorno por contenedor para cada trabajo de Cloud Run.

Roles obligatorios

Para obtener los permisos que necesitas para configurar los trabajos de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM en el trabajo:

  • Desarrollador de Cloud Run (roles/run.developer): El trabajo de Cloud Run
  • Usuario de la cuenta de servicio (roles/iam.serviceAccountUser): Es la identidad del servicio.

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 trabajo de Cloud Run interactúa con las APIs deGoogle Cloud , 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.

Configure las variables de entorno

Puedes establecer variables de entorno para trabajos nuevos y existentes. Ten en cuenta que la marca --set-env-vars es una acción destructiva que borra las variables de entorno establecidas anteriormente que no se incluyen en la nueva lista de variables de entorno.

Puedes configurar variables de entorno con la Google Cloud consola, la gcloud CLI o un archivo YAML:

Console

  1. En la Google Cloud consola, ve a la página de trabajos de Cloud Run:

    Ir a Cloud Run

  2. Selecciona Trabajos en el menú y haz clic en Implementar contenedor para completar la página de configuración de trabajo inicial. Si quieres configurar un trabajo existente, selecciona el trabajo y, luego, haz clic en Editar.

  3. Haz clic en Contenedores, volúmenes, conexiones y seguridad para expandir la página de propiedades del trabajo.

  4. Haz clic en la pestaña Variables.

    imagen

    • Puedes hacer lo siguiente:
      • Si quieres agregar una variable, haz clic en Agregar variable y especifica el nombre que deseas para la variable y su valor en los cuadros de texto Nombre y Valor.
      • Si deseas cambiar el valor de una variable, reemplaza el valor actual en el cuadro de texto Value (Valor) por el que deseas.
      • Si quitas una o más variables de entorno, coloca el cursor a la izquierda del cuadro de texto Value (Valor) de la variable que deseas quitar para que se muestre el ícono de la Papelera, y haz clic en este.
  5. Haz clic en Crear o Actualizar.

gcloud

Para especificar variables de entorno cuando implementes un trabajo, usa la marca --set-env-vars:

gcloud run jobs deploy JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Para especificar variables de entorno cuando actualices un trabajo, usa la marca --set-env-vars después de crear el trabajo:

gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Reemplaza lo siguiente:

  • JOB_NAME por el nombre de tu trabajo.
  • KEY1=VALUE1,KEY2=VALUE2, con la lista separada por comas de los nombres de las variables y sus valores.
  • IMAGE_URL por una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest.

Configura muchas variables de entorno

Si tienes muchas variables de entorno que no se pueden enumerar en formato KEY1=VALUE1,KEY2=VALUE2, puedes repetir la marca --set-env-vars varias veces:
   [...]
   --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 tu variable de entorno contiene caracteres de coma como valores, debes escapar esos delimitadores especificando un carácter delimitador diferente, por ejemplo, @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

YAML

  1. Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. Actualiza los atributos name y value en env como se muestra en containers::
    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
                env:
                - name: KEY-1
                  value: VALUE-1
                - name: KEY-N
                  value: VALUE-N

    Reemplaza KEY-1, VALUE-1 por la variable y el valor del entorno. También puedes agregar más variables y valores según sea necesario.

    También puedes especificar más opciones de configuración, como variables de entorno o límites de memoria.

  2. Actualiza la configuración del trabajo existente:

    gcloud run jobs replace job.yaml

Terraform

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

Agrega lo siguiente a un recurso google_cloud_run_v2_job en tu configuración de Terraform:

resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "REGION"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        env {
          name = "KEY-1"
          value = "VALUE-1"
        }
        env {
          name = "KEY-N"
          value = "VALUE-N"
        }
      }
    }
  }
}

Reemplaza lo siguiente:

  • JOB_NAME por el nombre del trabajo de Cloud Run.
  • REGION con la Google Cloud región. Por ejemplo, europe-west1.
  • KEY-1 por la variable de entorno.
  • VALUE-1 con el valor

De forma opcional, agrega más bloques env para establecer variables de entorno adicionales.

Configura variables de entorno predeterminadas en el contenedor

Puedes usar la sentencia ENV 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 trabajo

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

Actualiza las variables de entorno

Puedes actualizar las variables de entorno para los trabajos existentes. Este es un enfoque no destructivo que modifica o agrega variables de entorno, pero no borra las variables de entorno configuradas anteriormente.

Console

Para actualizar las variables de entorno con la consola de Google Cloud , sigue estos pasos:

  1. En la consola de Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona tu trabajo de la lista y haz clic en Editar e implementar nueva revisión.

  3. Haz clic en la pestaña Contenedor.

  4. En la pestaña Variables y secretos, edita los campos Nombre o Valor y haz clic en Listo.

  5. Haz clic en Implementar.

gcloud

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

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Reemplaza lo siguiente:

  • JOB_NAME por el nombre de tu trabajo.
  • KEY1=VALUE1,KEY2=VALUE2, con la lista separada por comas de los nombres y valores de las variables.

Visualiza la configuración de las variables de entorno

Para ver la configuración actual de las variables de entorno de tu trabajo de Cloud Run, sigue estos pasos:

Console

  1. En la Google Cloud consola, ve a la página de trabajos de Cloud Run:

    Ir a Trabajos de Cloud Run

  2. Haz clic en el trabajo que te interesa para abrir la página Detalles del trabajo.

  3. Haz clic en Ver y editar la configuración del trabajo.

  4. Localiza la configuración de variables de entorno en los detalles de configuración.

gcloud

  1. Usa el siguiente comando:

    gcloud run jobs describe JOB_NAME
  2. Ubica la configuración de las variables de entorno en la configuración que se muestra.

Borra variables de entorno

Puedes borrar variables de entorno para trabajos existentes.

Console

Para borrar variables de entorno con la Google Cloud consola, haz lo siguiente:

  1. En la consola de Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona tu trabajo de la lista y haz clic en Editar e implementar nueva revisión.

  3. Haz clic en la pestaña Contenedor.

  4. En la pestaña Variables y Secrets, mueve el cursor a la izquierda del campo Value de la variable de entorno que deseas quitar para que se muestre el ícono Borrar y haz clic en él.

  5. Haz clic en Listo.

  6. Haz clic en Implementar.

gcloud

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

gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2

Reemplaza lo siguiente:

  • JOB_NAME por el nombre de tu trabajo.
  • KEY1,KEY2, con la lista de nombres de variables separados por comas.

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

gcloud run jobs update JOB_NAME --clear-env-vars

Reemplaza lo siguiente:

  • JOB_NAME por el nombre de tu trabajo.