Usar variáveis de ambiente

É possível definir variáveis de ambiente para o Workflows no momento da implantação. Por exemplo, é possível criar um fluxo de trabalho configurado dinamicamente dependendo do ambiente em que é implantado. Também é possível criar um fluxo de trabalho que possa ser reutilizado como um modelo e configurado de acordo com variáveis de ambiente mantidas separadamente.

As variáveis de ambiente são definidas como pares arbitrários de strings de chave e valor que podem ser acessados pelo fluxo de trabalho no ambiente de execução. Eles são armazenados no back-end do Workflows, têm escopo para a execução do fluxo de trabalho e são imutáveis durante a execução de um fluxo de trabalho.

Todas as variáveis de ambiente estão vinculadas a uma implantação de um fluxo de trabalho e só podem ser definidas ou alteradas com uma implantação. Criar ou alterar uma variável de ambiente requer uma implantação bem-sucedida. Se uma implantação falhar por qualquer motivo, qualquer alteração feita nas variáveis de ambiente não será aplicada.

É possível adicionar, atualizar ou remover variáveis de ambiente definidas pelo usuário usando a Google Cloud CLI.

Nomes reservados

As variáveis de ambiente integradas definidas para o Workflows são reservadas e não podem ser configuradas.

Não é possível usar o seguinte ao definir variáveis de ambiente para Workflows:

Chave Descrição
Vazio ('') As chaves não podem ser uma string vazia.
GOOGLE_ As chaves não podem conter o prefixo GOOGLE_.
WORKFLOWS_ As chaves não podem conter o prefixo WORKFLOWS_.

Defina as variáveis de ambiente

Ao implantar um fluxo de trabalho, é possível definir novas variáveis ou substituir as atuais. Para fazer alterações aditivas, neste documento, consulte Atualizar variáveis de ambiente.

Console

  1. No console do Google Cloud, acesse a página Fluxos de trabalho.

    Acessar fluxos de trabalho

  2. Na página Fluxos de trabalho, clique em Criar.

  3. Na página Criar fluxo de trabalho, preencha os campos apropriados para configurar a definição do fluxo de trabalho.

  4. Na seção Variáveis de ambiente (opcional), clique em Adicionar variável.

  5. No campo Nome 1, especifique o nome da variável.

  6. No campo Valor 1, especifique o valor da variável.

  7. Para adicionar outra variável, clique em Adicionar variável.

  8. Clique em Próxima.

  9. Depois de definir o fluxo de trabalho, clique em Implantar para implantá-lo.

gcloud

Para definir uma variável de ambiente, use a sinalização --set-env-vars:

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

Substitua:

  • WORKFLOW_NAME: o ID do fluxo de trabalho.
  • KEY1=VALUE1: o nome da variável de ambiente e o valor dela. Por exemplo, MONTH=January.

Terraform

Para criar um fluxo de trabalho, use o recurso google_workflows_workflow e modifique seu arquivo main.tf, conforme mostrado no exemplo. Para mais informações, consulte Criar um fluxo de trabalho usando o Terraform.

Use o argumento user_env_vars para associar uma variável de ambiente à revisão do fluxo de trabalho.

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Defina várias variáveis de ambiente

Para definir várias variáveis de ambiente, use uma lista separada por vírgulas:

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

Escape de caracteres de vírgula

Como o caractere de vírgula (,) é usado para delimitar variáveis de ambiente, se os valores de variáveis incluírem vírgulas, você precisará especificar um caractere delimitador diferente, por exemplo, @:

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

Armazenar variáveis em um arquivo

Para armazenar as variáveis em um arquivo (por exemplo, no controle de origem), use um arquivo YAML e a sinalização --env-vars-file:

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

Substitua FILE_PATH pelo caminho para um arquivo YAML local que lista as definições das variáveis de ambiente. Observe que os nomes e valores de variáveis precisam ser strings. Todas as variáveis de ambiente atuais são removidas pelo Workflows antes que as novas variáveis de ambiente sejam adicionadas.

Por exemplo, o conteúdo do arquivo YAML pode ser o seguinte:

KEY1: "value1"
KEY2: "value2"

Para mais informações sobre o comando deploy, consulte gcloud workflows deploy.

Acessar variáveis de ambiente

Para acessar uma variável de ambiente, faça uma chamada para a função sys.get_env() em uma expressão, transmitindo o nome da variável de ambiente como um parâmetro. O nome da variável de ambiente precisa ser transmitido como uma string.

Por exemplo, o fluxo de trabalho a seguir atribui o valor da variável de ambiente KEY1 a uma variável de fluxo de trabalho chamada keyValue e, em seguida, gera esse valor:

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

Atualizar variáveis de ambiente

É possível atualizar variáveis de ambiente definidas pelo usuário para fluxos de trabalho. Essa é uma abordagem não destrutiva que altera ou adiciona variáveis de ambiente, mas não exclui variáveis.

Console

  1. No console do Google Cloud, abra a página Workflows.

    Acessar fluxos de trabalho

  2. Clique no nome do fluxo de trabalho que você quer atualizar.

    A página Detalhes do fluxo de trabalho é exibida.

  3. Para editar uma variável de ambiente existente, siga um destes procedimentos:

    • Clique na guia Detalhes.

      1. Ao lado de Variáveis de ambiente, clique no ícone .
      2. Faça suas alterações.
      3. Para implantar o fluxo de trabalho atualizado, clique em Salvar.
    • Clique em Editar.

      1. Na seção Variáveis de ambiente (opcional), faça as mudanças.
      2. Para implantar o fluxo de trabalho atualizado, clique em Próxima e em Implantar.

gcloud

Para atualizar uma variável, use a sinalização --update-env-vars:

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

Para atualizar várias variáveis de ambiente, use uma lista separada por vírgulas:

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

Excluir variáveis de ambiente

É possível excluir variáveis de ambiente definidas pelo usuário para fluxos de trabalho.

Console

  1. No console do Google Cloud, abra a página Workflows.

    Acessar fluxos de trabalho

  2. Clique no nome do fluxo de trabalho que você quer atualizar.

    A página Detalhes do fluxo de trabalho é exibida.

  3. Para excluir uma variável de ambiente existente, siga um destes procedimentos:

    • Clique na guia Detalhes.

      1. Clique no apropriado.
      2. Ao lado da variável de ambiente que você quer excluir, clique no ícone .
      3. Para implantar o fluxo de trabalho atualizado, clique em Salvar.
    • Clique em Editar.

      1. Ao lado da variável de ambiente que você quer excluir, clique no ícone .
      2. Para implantar o fluxo de trabalho atualizado, clique em Próxima e em Implantar.

gcloud

Para remover seletivamente variáveis de ambiente, use a sinalização --remove-env-vars:

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

Também é possível apagar todas as variáveis de ambiente definidas anteriormente com a sinalização --clear-env-vars:

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

Práticas recomendadas

Como prática recomendada, recomendamos que você não dependa nem modifique variáveis de ambiente que não tenha definido explicitamente. Modificar variáveis de ambiente diferentes das que você definiu explicitamente pode ter consequências inesperadas.

Como gerenciar secrets

As variáveis de ambiente podem ser usadas para configurar fluxos de trabalho, mas não são recomendadas como uma maneira de armazenar e consumir secrets, como credenciais de banco de dados ou chaves de API. Esses valores confidenciais precisam ser armazenados separadamente do código-fonte e das variáveis de ambiente. Eles não podem ser enviados acidentalmente aos registros.

Para armazenar secrets, recomendamos revisar as práticas recomendadas de gerenciamento de secrets e seguir as instruções para usar o Secret Manager com o Workflows.

Convenções de nomeação

Como regra geral, recomendamos que as chaves de variável de ambiente consistam apenas em letras maiúsculas, dígitos e sublinhados (_) e que não comecem com um dígito. Considere prefixar suas variáveis de ambiente definidas pelo usuário com uma chave exclusiva para evitar conflitos com outras variáveis.

Limites de tamanho

Podem ser definidas no máximo 20 variáveis de ambiente definidas pelo usuário. Cada string de definição (KEY=value) é limitada a 4 KiB.

A seguir