Configurar variáveis de ambiente para jobs

Nesta página, descrevemos como configurar variáveis de ambiente para o job do Cloud Run.

Quando você define variáveis de ambiente, elas são injetadas no contêiner e podem ser acessadas pelo código. As variáveis de ambiente são definidas como pares de chave-valor.

Nomes reservados

As variáveis de ambiente definidas no contrato de ambiente de execução do contêiner são reservadas e não podem ser configuradas.

Número máximo de variáveis de ambiente

É possível definir no máximo mil variáveis de ambiente por contêiner para cada job do Cloud Run.

Funções exigidas

Para receber as permissões necessárias e configurar jobs do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM no job:

  • Desenvolvedor do Cloud Run (roles/run.developer): o job do Cloud Run
  • Usuário da conta de serviço (roles/iam.serviceAccountUser): a identidade de serviço

Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o job do Cloud Run interagir com Google Cloud APIs, como bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.

Defina as variáveis de ambiente

É possível definir variáveis de ambiente para jobs novos e atuais. A sinalização --set-env-vars é uma ação destrutiva que exclui as variáveis de ambiente definidas anteriormente que não estão incluídas na nova lista de variáveis de ambiente.

É possível definir variáveis de ambiente usando o Google Cloud console, a CLI gcloud ou um arquivo YAML:

Console

  1. No Google Cloud console, acesse a página Jobs do Cloud Run:

    Acessar o Cloud Run

  2. Clique em Implantar contêiner para preencher a página inicial de configurações do job. Se você estiver configurando um job, clique nele e em Ver e editar a configuração do job.

  3. Clique em Contêineres, conexões, segurança para expandir a página de propriedades do job.

  4. Clique na guia Variáveis.

    imagem

    • Na guia Variáveis e secrets, clique em Adicionar variável e especifique o nome e o valor que você quer para a variável nos campos Nome e Valor. Para mais informações sobre como definir várias variáveis de ambiente ou fazer o escape de caracteres especiais, consulte Definir várias variáveis de ambiente.
  5. Clique em Criar ou Atualizar.

gcloud

Para especificar variáveis de ambiente ao criar um job, use a --set-env-vars sinalização:

gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

Substitua:

  • JOB_NAME: o nome do job.
  • KEY1=VALUE1,KEY2=VALUE2: lista separada por vírgulas de nomes de variáveis e os respectivos valores.
  • IMAGE_URL: uma referência à imagem do contêiner, por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest.

Para mais informações sobre como definir várias variáveis de ambiente ou fazer o escape de caracteres especiais, consulte Definir várias variáveis de ambiente.

YAML

  1. Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:

    gcloud run jobs describe JOB_NAME --format export > job.yaml
    1. Atualize os atributos name e value em env, conforme mostrado em containers::
    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE
                env:
                - name: KEY-1
                  value: VALUE-1
                - name: KEY-N
                  value: VALUE-N

    Substitua KEY-1, VALUE-1 pela variável de ambiente e o valor. Opcionalmente, adicione mais variáveis e valores conforme necessário.

    Também é possível definir outras configurações, como variáveis de ambiente ou limites de memória.

  2. Atualize a configuração do job que já existe:

    gcloud run jobs replace job.yaml

Terraform

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

Adicione o seguinte a um google_cloud_run_v2_job recurso na configuração do Terraform:
resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "REGION"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        env {
          name = "KEY-1"
          value = "VALUE-1"
        }
        env {
          name = "KEY-N"
          value = "VALUE-N"
        }
      }
    }
  }
}

Substitua:

  • JOB_NAME: o nome do seu job do Cloud Run;
  • REGION: a Google Cloud região. Por exemplo, europe-west1.
  • KEY-1: a variável de ambiente.
  • VALUE-1: o valor associado à chave.

Opcionalmente, adicione mais blocos env para definir outras variáveis de ambiente.

Como definir variáveis de ambiente padrão no contêiner

Use a ENV instrução em um Dockerfile para definir valores padrão para variáveis de ambiente:

ENV KEY1=VALUE1,KEY2=VALUE2

Ordem de precedência: variáveis de contêiner x job

Se você definir uma variável de ambiente padrão no contêiner e também definir uma variável de ambiente com o mesmo nome no job do Cloud Run, o valor definido no job terá precedência.

Definir várias variáveis de ambiente

É possível definir várias variáveis de ambiente usando o arquivo .env ou a sinalização --set-env-vars.

Definir várias variáveis de ambiente usando o arquivo .env

Console

  1. No Google Cloud console, acesse a página Jobs do Cloud Run:

    Acessar o Cloud Run

  2. Clique em Implantar contêiner para preencher a página inicial de configurações do job. Se você estiver configurando um job, clique nele e em Ver e editar a configuração do job.

  3. Clique em Contêineres, conexões, segurança para expandir a página de propriedades do job.

  4. Clique na guia Contêiner.

    imagem

    • Na guia Variáveis e secrets, clique em Adicionar variável e cole o conteúdo do arquivo .env no campo Nome. O Cloud Run preenche automaticamente o campo Valor e cria novas variáveis para cada par de chave-valor definido no arquivo .env.
  5. Clique em Criar ou Atualizar.

gcloud

Para especificar várias variáveis de ambiente no arquivo .env, execute o seguinte comando:

gcloud run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH

Substitua:

  • JOB_NAME: o nome do seu job do Cloud Run;
  • IMAGE_URL: uma referência à imagem do contêiner, por exemplo, us-docker.pkg.dev/cloudrun/container/job:latest.
  • ENV_FILE_PATH: caminho para o arquivo .env.

Definir várias variáveis de ambiente usando a sinalização --set-env-vars

Se você tiver várias variáveis de ambiente que não podem ser listadas no formato KEY1=VALUE1,KEY2=VALUE2, repita a sinalização --set-env-vars várias vezes:
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

Escape de caracteres de vírgula

Como o caractere de vírgula , é usado para dividir variáveis de ambiente, caso a variável de ambiente contenha caracteres de vírgula como valores, você precisará fazer o escape desses delimitadores especificando um caractere delimitador diferente, por exemplo, @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

Atualizar variáveis de ambiente

É possível atualizar variáveis de ambiente para jobs atuais. Essa é uma abordagem não destrutiva que altera ou adiciona variáveis de ambiente, mas não exclui as variáveis de ambiente definidas anteriormente.

Console

Para atualizar variáveis de ambiente usando o Google Cloud console:

  1. No Google Cloud console, acesse a página Jobs do Cloud Run:

    Acessar o Cloud Run

  2. Selecione o job na lista e clique em Editar e implantar nova revisão.

  3. Clique na guia Contêiner.

  4. Na guia Variáveis e secrets , edite os campos Nome ou Valor e clique em Concluído.

  5. Clique em Implantar.

gcloud

Para atualizar variáveis de ambiente de um job atual, use a --update-env-vars sinalização:

gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2

Substitua:

  • JOB_NAME: o nome do job.
  • KEY1=VALUE1,KEY2=VALUE2: lista separada por vírgulas de nomes de variáveis e valores.

Ver as configurações das variáveis de ambiente

Para ver as configurações atuais das variáveis de ambiente do job do Cloud Run:

Console

  1. No Google Cloud console, acesse a página de jobs do Cloud Run:

    Acessar jobs do Cloud Run

  2. Clique no job em que você tem interesse para abrir a página Detalhes do job.

  3. Clique em Ver e editar a configuração do job.

  4. Localize a definição das variáveis de ambiente nos detalhes da configuração.

gcloud

  1. Use o comando a seguir:

    gcloud run jobs describe JOB_NAME
  2. Localize a configuração de variáveis de ambiente na configuração retornada.

Excluir variáveis de ambiente

É possível excluir variáveis de ambiente para jobs atuais.

Console

Para excluir variáveis de ambiente usando o Google Cloud console:

  1. No Google Cloud console, acesse o Cloud Run:

    Acessar o Cloud Run

  2. Selecione o job na lista e clique em Editar e implantar nova revisão.

  3. Clique na guia Contêiner.

  4. Na guia Variáveis e secrets, mova o cursor para a esquerda do Valor campo da variável de ambiente que você está removendo para exibir o Excluir ícone, e clique nele.

  5. Clique em Concluído.

  6. Clique em Implantar.

gcloud

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

gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2

Substitua:

  • JOB_NAME: o nome do job.
  • KEY1,KEY2: lista separada por vírgulas de nomes de variáveis.

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

gcloud run jobs update JOB_NAME --clear-env-vars