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
No Google Cloud console, acesse a página Jobs do Cloud Run:
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.
Clique em Contêineres, conexões, segurança para expandir a página de propriedades do job.
Clique na guia Variáveis.
- 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.
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
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
- Atualize os atributos
nameevalueemenv, conforme mostrado emcontainers::
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.
- Atualize os atributos
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 umgoogle_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
No Google Cloud console, acesse a página Jobs do Cloud Run:
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.
Clique em Contêineres, conexões, segurança para expandir a página de propriedades do job.
Clique na guia Contêiner.
- Na guia Variáveis e secrets, clique em Adicionar variável e cole o conteúdo do arquivo
.envno 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.
- Na guia Variáveis e secrets, clique em Adicionar variável e cole o conteúdo do arquivo
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:
No Google Cloud console, acesse a página Jobs do Cloud Run:
Selecione o job na lista e clique em Editar e implantar nova revisão.
Clique na guia Contêiner.
Na guia Variáveis e secrets , edite os campos Nome ou Valor e clique em Concluído.
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
No Google Cloud console, acesse a página de jobs do Cloud Run:
Clique no job em que você tem interesse para abrir a página Detalhes do job.
Clique em Ver e editar a configuração do job.
Localize a definição das variáveis de ambiente nos detalhes da configuração.
gcloud
Use o comando a seguir:
gcloud run jobs describe JOB_NAME
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:
No Google Cloud console, acesse o Cloud Run:
Selecione o job na lista e clique em Editar e implantar nova revisão.
Clique na guia Contêiner.
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.
Clique em Concluído.
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