Use variáveis de ambiente

Pode definir variáveis de ambiente para fluxos de trabalho no momento da implementação. Por exemplo, pode criar um fluxo de trabalho que é configurado dinamicamente consoante o ambiente no qual é implementado. Em alternativa, pode criar um fluxo de trabalho que pode ser reutilizado como modelo e configurado de acordo com as variáveis de ambiente mantidas separadamente.

As variáveis de ambiente são definidas como pares de chaves e valores de strings arbitrários que estão acessíveis pelo seu fluxo de trabalho no tempo de execução. São armazenadas no back-end dos fluxos de trabalho, têm âmbito na 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 associadas a uma implementação de um fluxo de trabalho e só podem ser definidas ou alteradas com uma implementação. A criação ou a alteração de uma variável de ambiente requer uma implementação bem-sucedida. Se uma implementação falhar por qualquer motivo, não são aplicadas alterações às variáveis de ambiente.

Pode adicionar, atualizar ou remover variáveis de ambiente definidas pelo utilizador através da CLI Google Cloud.

Nomes reservados

As variáveis de ambiente integradas definidas para fluxos de trabalho estão reservadas e não podem ser definidas.

Tenha em atenção que não pode usar o seguinte quando definir variáveis de ambiente para fluxos de trabalho:

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 variáveis de ambiente

Pode definir novas variáveis ou substituir variáveis existentes quando implementar um fluxo de trabalho. Para fazer alterações aditivas, consulte a secção Atualize as variáveis de ambiente neste documento.

Consola

  1. Na Google Cloud consola, aceda à página Fluxos de trabalho:

    Aceda a Fluxos de trabalho

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

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

  4. Na secçã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. Clicar em Seguinte.

  9. Depois de definir o fluxo de trabalho, para o implementar, clique em Implementar.

gcloud

Para definir uma variável de ambiente, use a flag --set-env-vars:

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

Substitua o seguinte:

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

Terraform

Para criar um fluxo de trabalho, use o recurso google_workflows_workflow e modifique o ficheiro main.tf, conforme mostrado no exemplo. Para mais informações, consulte Crie um fluxo de trabalho com 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 os 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 carateres de vírgula

Uma vez que o caráter de vírgula (,) é usado para delimitar variáveis de ambiente, se os valores das suas variáveis incluírem vírgulas, tem de especificar um caráter delimitador diferente, por exemplo, @:

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

Armazene variáveis num ficheiro

Para armazenar as variáveis num ficheiro (por exemplo, sob controlo de origem), use um ficheiro YAML e a flag --env-vars-file:

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

Substitua FILE_PATH pelo caminho para um ficheiro YAML local que liste as definições das suas variáveis de ambiente. Tenha em atenção que os nomes e os valores das variáveis têm de ser strings. Todas as variáveis de ambiente existentes são removidas pelos fluxos de trabalho antes de serem adicionadas as novas variáveis de ambiente.

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

KEY1: "value1"
KEY2: "value2"

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

Aceda a variáveis de ambiente

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

Por exemplo, o seguinte fluxo de trabalho atribui o valor da variável de ambiente KEY1 a uma variável de fluxo de trabalho denominada keyValue e, em seguida, produz esse valor:

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

Atualize as variáveis de ambiente

Pode atualizar as variáveis de ambiente definidas pelo utilizador para fluxos de trabalho existentes. Esta é uma abordagem não destrutiva que altera ou adiciona variáveis de ambiente, mas não elimina variáveis.

Consola

  1. Na Google Cloud consola, aceda à página Fluxos de trabalho.

    Aceda a Fluxos de trabalho

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

    É apresentada a página Detalhes do fluxo de trabalho.

  3. Para editar uma variável de ambiente existente, faça uma das seguintes ações:

    • Clique no separador Detalhes.

      1. Junto a Variáveis de ambiente, clique no ícone .
      2. Efetue as suas alterações.
      3. Para implementar o fluxo de trabalho atualizado, clique em Guardar.
    • Clique em Editar.

      1. Na secção Variáveis de ambiente (opcional), faça as alterações.
      2. Para implementar o fluxo de trabalho atualizado, clique em Seguinte e, de seguida, em Implementar.

gcloud

Para atualizar uma variável, use a flag --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

Elimine variáveis de ambiente

Pode eliminar variáveis de ambiente definidas pelo utilizador para fluxos de trabalho existentes.

Consola

  1. Na Google Cloud consola, aceda à página Fluxos de trabalho.

    Aceda a Fluxos de trabalho

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

    É apresentada a página Detalhes do fluxo de trabalho.

  3. Para eliminar uma variável de ambiente existente, faça uma das seguintes ações:

    • Clique no separador Detalhes.

      1. Clique no botão adequado .
      2. Junto à variável de ambiente que quer eliminar, clique no ícone .
      3. Para implementar o fluxo de trabalho atualizado, clique em Guardar.
    • Clique em Editar.

      1. Junto à variável de ambiente que quer eliminar, clique no ícone .
      2. Para implementar o fluxo de trabalho atualizado, clique em Seguinte e, de seguida, em Implementar.

gcloud

Se quiser remover seletivamente variáveis de ambiente, use a flag --remove-env-vars:

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

Em alternativa, pode limpar todas as variáveis de ambiente definidas anteriormente com a flag --clear-env-vars:

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

Práticas recomendadas

Como prática recomendada, sugerimos que não dependa nem modifique nenhuma variável de ambiente que não tenha definido explicitamente. Se modificar variáveis de ambiente que não as que definiu explicitamente, pode ter consequências inesperadas.

Gerir segredos

As variáveis de ambiente podem ser usadas para configurar fluxos de trabalho, mas não são recomendadas como forma de armazenar e consumir segredos, como credenciais de bases de dados ou chaves de API. Estes valores confidenciais devem ser armazenados separadamente do código fonte e das variáveis de ambiente, e não devem ser enviados inadvertidamente para os registos.

Para armazenar segredos, recomendamos que reveja as práticas recomendadas para a gestão de segredos e siga as instruções para usar o Secret Manager com fluxos de trabalho.

Convenções de nomenclatura

Como regra geral, recomendamos que as chaves de variáveis de ambiente sejam compostas apenas por letras maiúsculas, dígitos e sublinhados (_) e que não comecem por um dígito. Considere adicionar um prefixo às variáveis de ambiente definidas pelo utilizador com uma chave única para evitar conflitos com outras variáveis.

Limites de tamanho

Pode definir um máximo de 20 variáveis de ambiente definidas pelo utilizador. Cada string de definição (KEY=value) está limitada a 4 KiB.

O que se segue?