Usar variables de entorno

Puedes definir variables de entorno para los flujos de trabajo en el momento de la implementación. Por ejemplo, puedes crear un flujo de trabajo que se configure de forma dinámica en función del entorno en el que se implemente. También puedes crear un flujo de trabajo que se pueda reutilizar como plantilla y configurar según las variables de entorno que se mantengan por separado.

Las variables de entorno se definen como pares de cadenas de clave y valor arbitrarios a los que puede acceder tu flujo de trabajo en el tiempo de ejecución. Se almacenan en el backend de Workflows, se limitan a la ejecución del flujo de trabajo y son inmutables durante la ejecución de un flujo de trabajo.

Todas las variables de entorno están vinculadas a una implementación de un flujo de trabajo y solo se pueden definir o cambiar con una implementación. Para crear o cambiar una variable de entorno, es necesario que la implementación se realice correctamente. Si se produce un error durante una implementación, no se aplicarán los cambios en las variables de entorno.

Puedes añadir, actualizar o quitar variables de entorno definidas por el usuario con la CLI de Google Cloud.

Nombres reservados

Las variables de entorno integradas definidas para Workflows están reservadas y no se pueden definir.

Ten en cuenta que no puedes usar lo siguiente al definir variables de entorno para flujos de trabajo:

Clave Descripción
Vacío ('') Las claves no pueden ser cadenas vacías.
GOOGLE_ Las claves no pueden contener el prefijo GOOGLE_.
WORKFLOWS_ Las claves no pueden contener el prefijo WORKFLOWS_.

Establece variables de entorno:

Puedes definir nuevas variables o sustituir las que ya tengas al implementar un flujo de trabajo. Para hacer cambios aditivos, consulta la sección Actualizar variables de entorno de este documento.

Consola

  1. En la Google Cloud consola, ve a la página Flujos de trabajo:

    Ve a Workflows

  2. En la página Flujos de trabajo, haz clic en Crear.

  3. En la página Crear flujo de trabajo, rellena los campos correspondientes para configurar la definición del flujo de trabajo.

  4. En la sección Variables de entorno (opcional), haga clic en Añadir variable.

  5. En el campo Nombre 1, especifica el nombre de la variable.

  6. En el campo Valor 1, especifica el valor de la variable.

  7. Para añadir otra variable, haz clic en Añadir variable.

  8. Haz clic en Siguiente.

  9. Una vez que hayas definido el flujo de trabajo, haz clic en Desplegar para implementarlo.

gcloud

Para definir una variable de entorno, usa la marca --set-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --set-env-vars KEY1=VALUE1

Haz los cambios siguientes:

  • WORKFLOW_NAME: el ID de tu flujo de trabajo.
  • KEY1=VALUE1: el nombre de la variable de entorno y su valor; por ejemplo, MONTH=January.

Terraform

Para crear un flujo de trabajo, usa el recurso google_workflows_workflow y modifica el archivo main.tf como se muestra en el ejemplo. Para obtener más información, consulta el artículo Crear un flujo de trabajo con Terraform.

Usa el argumento user_env_vars para asociar una variable de entorno con la revisión del flujo de trabajo.

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Definir varias variables de entorno

Para definir varias variables de entorno, usa una lista separada por comas:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Evitar caracteres de coma

Como el carácter de coma (,) se usa para delimitar las variables de entorno, si los valores de las variables incluyen comas, debe especificar otro carácter delimitador, por ejemplo, @:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2

Almacenar variables en un archivo

Para almacenar tus variables en un archivo (por ejemplo, en un control de versiones), usa un archivo YAML y la marca --env-vars-file:

gcloud workflows deploy WORKFLOW_NAME \
      --env-vars-file FILE_PATH

Sustituye FILE_PATH por la ruta a un archivo YAML local que incluya las definiciones de tus variables de entorno. Ten en cuenta que los nombres y los valores de las variables deben ser cadenas. Workflows elimina todas las variables de entorno antes de añadir las nuevas.

Por ejemplo, el contenido del archivo YAML podría ser el siguiente:

KEY1: "value1"
KEY2: "value2"

Para obtener más información sobre el comando deploy, consulta gcloud workflows deploy.

Acceder a variables de entorno

Para acceder a una variable de entorno, llama a la función sys.get_env() en una expresión y pasa el nombre de la variable de entorno como parámetro. El nombre de la variable de entorno debe transferirse como una cadena.

Por ejemplo, el siguiente flujo de trabajo asigna el valor de la variable de entorno KEY1 a una variable de flujo de trabajo llamada keyValue y, a continuación, muestra ese valor:

main:
  steps:
    - init:
        assign:
          - keyValue: ${sys.get_env("KEY1")}
    - returnResult:
        return: ${keyValue}

Actualizar variables de entorno

Puedes actualizar las variables de entorno definidas por el usuario de los flujos de trabajo. Se trata de un enfoque no destructivo que cambia o añade variables de entorno, pero no elimina variables.

Consola

  1. En la Google Cloud consola, ve a la página Flujos de trabajo.

    Ve a Workflows

  2. Haz clic en el nombre del flujo de trabajo que quieras actualizar.

    Se mostrará la página Detalles del flujo de trabajo.

  3. Para editar una variable de entorno, haz una de las siguientes acciones:

    • Haga clic en la pestaña Detalles.

      1. Junto a Variables de entorno, haz clic en el icono .
      2. Haz los cambios que quieras.
      3. Para implementar el flujo de trabajo actualizado, haz clic en Guardar.
    • Haz clic en Editar.

      1. En la sección Variables de entorno (opcional), haz los cambios que quieras.
      2. Para implementar el flujo de trabajo actualizado, haz clic en Siguiente y, después, en Implementar.

gcloud

Para actualizar una variable, usa la marca --update-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1

Para actualizar varias variables de entorno, usa una lista separada por comas:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Eliminar variables de entorno

Puede eliminar variables de entorno definidas por el usuario de flujos de trabajo.

Consola

  1. En la Google Cloud consola, ve a la página Flujos de trabajo.

    Ve a Workflows

  2. Haz clic en el nombre del flujo de trabajo que quieras actualizar.

    Se mostrará la página Detalles del flujo de trabajo.

  3. Para eliminar una variable de entorno, puedes hacer lo siguiente:

    • Haga clic en la pestaña Detalles.

      1. Haz clic en el que corresponda.
      2. Junto a la variable de entorno que quieras eliminar, haz clic en el icono .
      3. Para implementar el flujo de trabajo actualizado, haz clic en Guardar.
    • Haz clic en Editar.

      1. Junto a la variable de entorno que quieras eliminar, haz clic en el icono .
      2. Para implementar el flujo de trabajo actualizado, haz clic en Siguiente y, después, en Implementar.

gcloud

Si quieres eliminar variables de entorno de forma selectiva, usa la marca --remove-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --remove-env-vars KEY1,KEY2

También puedes borrar todas las variables de entorno definidas anteriormente con la marca --clear-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --clear-env-vars

Prácticas recomendadas

Como práctica recomendada, te aconsejamos que no dependas de ninguna variable de entorno que no hayas definido explícitamente ni la modifiques. Si modificas variables de entorno que no hayas definido explícitamente, puede haber consecuencias no deseadas.

Gestionar secretos

Las variables de entorno se pueden usar para configurar flujos de trabajo, pero no se recomiendan como forma de almacenar y usar secretos, como credenciales de bases de datos o claves de API. Estos valores sensibles deben almacenarse por separado del código fuente y de las variables de entorno, y no deben enviarse a los registros por error.

Para almacenar secretos, te recomendamos que consultes las prácticas recomendadas para la gestión de secretos y sigas las instrucciones para usar Secret Manager con Workflows.

Convenciones de nombres

Por lo general, recomendamos que las claves de las variables de entorno solo incluyan letras mayúsculas, números y guiones bajos (_), y que no empiecen por un número. Te recomendamos que añadas un prefijo a tus variables de entorno definidas por el usuario con una clave única para evitar conflictos con otras variables.

Límites de tamaño

Se pueden definir hasta 20 variables de entorno definidas por el usuario. Cada cadena de definición (KEY=value) tiene un límite de 4 KiB.

Siguientes pasos