Puedes definir variables de entorno para Workflows en el momento de la implementación. Por ejemplo, puedes crear un flujo de trabajo que se configure de forma dinámica según el entorno en el que se implemente. O bien, 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 configuran como pares clave-valor arbitrarios de cadenas a los que tu flujo de trabajo puede acceder en el entorno 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 configurar o cambiar con una implementación. Para crear o cambiar una variable de entorno, se requiere una implementación exitosa. Si por algún motivo una implementación falla, no se aplicará ningún cambio en las variables de entorno.
Puedes agregar, actualizar o quitar variables de entorno definidas por el usuario con Google Cloud CLI.
Nombres reservados
Las variables de entorno integradas definidas para Workflows están reservadas y no se pueden configurar.
Ten en cuenta que no puedes usar lo siguiente cuando definas variables de entorno para Workflows:
| Clave | Descripción |
|---|---|
Vacío ('') |
Las claves no pueden ser una cadena vacía. |
GOOGLE_ |
Las claves no pueden contener el prefijo GOOGLE_. |
WORKFLOWS_ |
Las claves no pueden contener el prefijo WORKFLOWS_. |
Configura las variables de entorno
Puedes definir variables nuevas o reemplazar las existentes cuando implementes un flujo de trabajo. Para realizar cambios aditivos, consulta Actualiza las variables de entorno en este documento.
Console
En la Google Cloud consola de, ve a la página Workflows:
En la página Workflows, haz clic en Crear.
En la página Crear flujo de trabajo, completa los campos correspondientes para configurar la definición del flujo de trabajo.
En la sección Variables de entorno (opcional), haz clic en Agregar variable.
En el campo Nombre 1, especifica el nombre de la variable.
En el campo Valor 1, especifica el valor de la variable.
Para agregar otra variable, haz clic en Agregar variable.
Haz clic en Siguiente.
Después de definir el flujo de trabajo, para implementarlo, haz clic en Implementar.
gcloud
Para configurar una variable de entorno, usa el marcador --set-env-vars:
gcloud workflows deploy WORKFLOW_NAME \ --set-env-vars KEY1=VALUE1
Reemplaza lo siguiente:
WORKFLOW_NAME: Es el ID de tu flujo de trabajo.KEY1=VALUE1: Es el nombre de la variable de entorno y su valor; por ejemplo,MONTH=January.
Terraform
Para crear un flujo de trabajo, usa el
google_workflows_workflow recurso
y modifica tu main.tf archivo como se muestra en el ejemplo. Para obtener más información,
consulta
Crea 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.
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Configura varias variables de entorno
Para configurar varias variables de entorno, usa una lista separada por comas:
gcloud workflows deploy WORKFLOW_NAME \ --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Caracteres de coma de escape
Debido a que el carácter de coma (,) se usa para delimitar las variables de entorno, si los valores de las variables incluyen comas, debes especificar un carácter delimitador diferente, por ejemplo, @:
gcloud workflows deploy WORKFLOW_NAME \ --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2
Almacena variables en un archivo
Para almacenar tus variables en un archivo (por ejemplo, en el control de fuente), usa un archivo YAML y el marcador --env-vars-file:
gcloud workflows deploy WORKFLOW_NAME \ --env-vars-file FILE_PATH
Reemplaza FILE_PATH por la ruta de acceso a un archivo YAML local que enumere las definiciones de tus variables de entorno. Ten en cuenta que los nombres y valores de las variables deben ser cadenas. Workflows quita todas las variables de entorno existentes antes de agregar 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.
Accede a variables de entorno
Para acceder a una variable de entorno, haz una llamada a la
sys.get_env() función en una
expresión y pasa el nombre de la variable de entorno como parámetro. El nombre de la variable de entorno debe pasarse 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, luego, genera ese valor:
main: steps: - init: assign: - keyValue: ${sys.get_env("KEY1")} - returnResult: return: ${keyValue}
Actualiza variables de entorno
Puedes actualizar las variables de entorno definidas por el usuario para los flujos de trabajo existentes. Este es un enfoque no destructivo que modifica o agrega variables de entorno, pero no las borra.
Console
En la Google Cloud consola de, ve a la página **Workflows**.
Haz clic en el nombre del flujo de trabajo que deseas actualizar.
Aparecerá la página Detalles del flujo de trabajo.
Para editar una variable de entorno existente, haz una de las siguientes acciones:
Haz clic en la pestaña Detalles.
- Junto a Variables de entorno, haz clic en el ícono.
- Realiza tus cambios.
- Para implementar el flujo de trabajo actualizado, haz clic en Guardar.
Haz clic en Editar.
- En la sección Variables de entorno (opcional), realiza los cambios.
- Para implementar el flujo de trabajo actualizado, haz clic en Siguiente y, luego, en Implementar.
gcloud
Para actualizar una variable, usa el marcador --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
Borra variables de entorno
Puedes borrar variables de entorno definidas por el usuario para los flujos de trabajo existentes.
Console
En la Google Cloud consola de, ve a la página **Workflows**.
Haz clic en el nombre del flujo de trabajo que deseas actualizar.
Aparecerá la página Detalles del flujo de trabajo.
Para borrar una variable de entorno existente, haz una de las siguientes acciones:
Haz clic en la pestaña Detalles.
- Haz clic en la edición adecuada .
- Junto a la variable de entorno que deseas borrar, haz clic en el ícono.
- Para implementar el flujo de trabajo actualizado, haz clic en Guardar.
Haz clic en Editar.
- Junto a la variable de entorno que deseas borrar, haz clic en el ícono.
- Para implementar el flujo de trabajo actualizado, haz clic en Siguiente y, luego, en Implementar.
gcloud
Si deseas quitar variables de entorno de forma selectiva, usa el marcador --remove-env-vars:
gcloud workflows deploy WORKFLOW_NAME \ --remove-env-vars KEY1,KEY2
Como alternativa, puedes borrar todas las variables de entorno configuradas previamente con el marcador --clear-env-vars:
gcloud workflows deploy WORKFLOW_NAME \ --clear-env-vars
Prácticas recomendadas
Como práctica recomendada, te sugerimos que no dependas de ninguna variable de entorno que no hayas configurado explícitamente ni la modifiques. Si modificas variables de entorno que no sean las que configuraste de forma explícita, es posible que se produzcan consecuencias no deseadas.
Administra secretos
Las variables de entorno se pueden usar para configurar flujos de trabajo, pero no se recomiendan como una forma de almacenar y consumir secretos, como las credenciales de la base de datos o las claves de API. Estos valores sensibles deben almacenarse por separado del código fuente y de las variables de entorno, y no enviarse de forma inadvertida a los registros.
Si deseas almacenar secretos, te sugerimos que revises las prácticas recomendadas para la administración de secretos y sigas las instrucciones para usar Secret Manager con Workflows.
Convenciones de nombres
Como regla general, recomendamos que las claves de variable de entorno tengan únicamente letras mayúsculas, dígitos y guiones bajos (_), y que no comiencen con un dígito. Considera colocar una clave única como prefijo a las variables de entorno definidas por el usuario para evitar conflictos con otras variables.
Límites de tamaño
Se puede definir un máximo de 20 variables de entorno definidas por el usuario. Cada cadena de definición (KEY=value) está limitada a 4 KiB.
¿Qué sigue?
- Ejecuta un flujo de trabajo.
- Pasa argumentos del entorno de ejecución en una solicitud de ejecución.