Usa variables de entorno

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 encuentre cuando se implementa un plan. O puedes crear un flujo de trabajo que se pueda reutilizar como una plantilla y de acuerdo con variables de entorno mantenidas por separado.

Las variables de entorno se establecen como pares de cadenas de clave y valor arbitrarios accesibles por tu flujo de trabajo en el tiempo de ejecución. Se almacenan de Workflows, tienen alcance para 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 la implementación de un flujo de trabajo solo se pueden configurar o cambiar con una implementación. Crear o cambiar un entorno variable requiere una implementación exitosa. Si una implementación falla por cualquier motivo, no se aplica ningún cambio en las variables de entorno.

Puedes agregar, actualizar o quitar variables de entorno definidas por el usuario con el Google Cloud CLI.

Nombres reservados

Las variables de entorno integradas definidos para Workflows están reservados y no se pueden configurar.

Ten en cuenta que no puedes usar lo siguiente cuando defines variables de entorno para Workflows:

Clave Descripción
Vacía ('') 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 variables de entorno

Puedes definir variables nuevas o reemplazar las existentes cuando implementes un en el flujo de trabajo. Para realizar cambios aditivos, en este documento, consulta En su lugar, actualiza las variables de entorno.

Console

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

    Ir a Workflows

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

  3. En la página Crear flujo de trabajo, completa los campos adecuados para configura la definición del flujo de trabajo.

  4. En la sección Variables de entorno (opcional), haz clic en Agregar variable.

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

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

  7. Para agregar otra variable, haz clic en Agregar variable.

  8. Haz clic en Siguiente.

  9. Después de definir tu flujo de trabajo, haz clic en Implementar para implementarlo.

gcloud

Para configurar una variable de entorno, usa la marca --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 Recurso google_workflows_workflow y modifica tu archivo main.tf como se muestra en el ejemplo. Para obtener más información, ver 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 múltiples 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

Dado que el carácter de coma (,) se usa para delimitar las variables de entorno, si tus valores de variables incluyen comas, debes especificar un delimitador diferente carácter, por ejemplo, @:

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

Cómo almacenar variables en un archivo

Para almacenar las variables en un archivo (por ejemplo, bajo el control del código fuente), usa un YAML y la marca --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 enumera las definiciones para tus variables de entorno. Ten en cuenta que los nombres y valores de las variables deben ser cadenas. Todas las variables de entorno existentes Workflows quita las variables antes de que las nuevas variables de entorno de seguridad de Google Cloud.

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 las variables de entorno

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

Por ejemplo, el siguiente flujo de trabajo asigna el valor del entorno la variable KEY1 a una variable de flujo de trabajo llamada keyValue y, luego, genera esa valor:

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

Actualiza las variables de entorno

Puedes actualizar las variables de entorno definidas por el usuario para los flujos de trabajo existentes. Esta es un enfoque no destructivo que modifica o agrega variables de entorno, pero no borra las variables.

Console

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

    Ir a Workflows

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

    Aparecerá la página Detalles del flujo de trabajo.

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

    • Haz clic en la pestaña Detalles.

      1. Junto a Variables de entorno, haz clic en el ícono.
      2. Realiza tus cambios.
      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), configura las cambios.
      2. Para implementar el flujo de trabajo actualizado, haz clic en Siguiente y, luego, 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

Borra las variables de entorno

Puedes borrar las variables de entorno definidas por el usuario en los flujos de trabajo existentes.

Console

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

    Ir a Workflows

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

    Aparecerá la página Detalles del flujo de trabajo.

  3. Para borrar una variable de entorno existente, realiza una de las siguientes acciones:

    • Haz clic en la pestaña Detalles.

      1. Haz clic en el ícono
      2. Junto a la variable de entorno que deseas borrar, haz clic en el ícono.
      3. Para implementar el flujo de trabajo actualizado, haz clic en Guardar.
    • Haz clic en Editar.

      1. Junto a la variable de entorno que deseas borrar, haz clic en el ícono.
      2. 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 Marca --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, sugerimos que no dependas de ningún variables de entorno que no estableciste explícitamente. Si modificas el entorno distintas de las que estableciste explícitamente, es posible que se generen consecuencias no deseadas.

Administra secretos

Las variables de entorno pueden usarse para configurar flujos de trabajo, pero no se recomienda como una manera de almacenar y consumir Secrets como las credenciales de la base de datos o claves de API. Estos valores sensibles deben almacenarse por separado el código fuente y las variables de entorno, y que no se envíen a los registros por accidente.

Para almacenar secretos, revisa las prácticas recomendadas administración de secretos y sigue las instrucciones usar Secret Manager con Workflows.

Convenciones de nombres

Como regla general, recomendamos que las claves de variable de entorno consten únicamente de letras mayúsculas, dígitos y guiones bajos (_), y que no comiencen con un dígito. Considera colocar un prefijo a tus variables de entorno definidas por el usuario con un clave única 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 la cadena de definición (KEY=value) tiene un límite de 4 KiB.

¿Qué sigue?