Esta página descreve como configurar variáveis de ambiente para a sua tarefa do Cloud Run.
Quando define variáveis de ambiente, estas são injetadas no contentor e ficam acessíveis ao seu 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 tempo de execução do contentor estão reservadas e não podem ser definidas.
Número máximo de variáveis de ambiente
Tenha em atenção que pode definir um máximo de 1000 variáveis de ambiente por contentor para cada tarefa do Cloud Run.
Funções necessárias
Para receber as autorizações necessárias para configurar tarefas do Cloud Run, peça ao administrador para lhe conceder as seguintes funções de IAM na tarefa:
-
Programador do Cloud Run (
roles/run.developer
) – a tarefa do Cloud Run -
Utilizador da conta de serviço (
roles/iam.serviceAccountUser
): a identidade do serviço
Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se a sua tarefa do Cloud Run interagir com Google Cloud APIs, como as bibliotecas de cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.
Defina variáveis de ambiente
Pode definir variáveis de ambiente para tarefas novas e existentes. Tenha em atenção que a flag --set-env-vars
é uma ação destrutiva que elimina as variáveis de ambiente definidas anteriormente que não estão incluídas na nova lista de variáveis de ambiente.
Pode definir variáveis de ambiente através da Google Cloud consola, da CLI gcloud ou de um ficheiro YAML:
Consola
Na Google Cloud consola, aceda à página Tarefas do Cloud Run:
Selecione Tarefas no menu e clique em Implementar contentor para preencher a página de definições iniciais da tarefa. Se estiver a configurar uma tarefa existente, selecione a tarefa e, de seguida, clique em Editar.
Clique em Recipientes, volumes, ligações, segurança para expandir a página de propriedades da tarefa.
Clique no separador Variáveis.
- No separador Variáveis e segredos, clique em Adicionar variável e especifique o nome e o valor que quer para a variável nos campos Nome e Valor. Para mais informações sobre como definir várias variáveis de ambiente ou carateres especiais de escape, consulte o artigo Defina várias variáveis de ambiente.
Clique em Criar ou Atualizar.
gcloud
Para especificar variáveis de ambiente quando
cria uma tarefa, use a flag --set-env-vars
:
gcloud run jobs create JOB_NAME --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Substitua o seguinte:
- JOB_NAME: o nome da sua profissão.
- KEY1=VALUE1,KEY2=VALUE2: lista separada por vírgulas dos nomes das variáveis e respetivos valores.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
.
Para mais informações sobre como definir várias variáveis de ambiente ou carateres especiais de escape, consulte o artigo Defina várias variáveis de ambiente.
YAML
Se estiver a criar uma nova tarefa, ignore este passo. Se estiver a atualizar uma tarefa existente, transfira a respetiva configuração YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
- Atualize os atributos
name
evalue
emenv
, 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 pelo valor. Opcionalmente, adicione mais variáveis e valores conforme necessário.
Também pode especificar mais configurações, como variáveis de ambiente ou limites de memória.
- Atualize os atributos
Atualize a configuração da tarefa existente:
gcloud run jobs replace job.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Adicione o seguinte a um recursogoogle_cloud_run_v2_job
na sua 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 o seguinte:
- JOB_NAME: o nome da sua tarefa 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 variáveis de ambiente adicionais.
Defina variáveis de ambiente predefinidas no contentor
Pode usar a declaração ENV
num Dockerfile para definir valores predefinidos para variáveis de ambiente:
ENV KEY1=VALUE1,KEY2=VALUE2
Ordem de precedência: variáveis do contentor versus variáveis da tarefa
Se definir uma variável de ambiente predefinida no contentor e também definir uma variável de ambiente com o mesmo nome na tarefa do Cloud Run, o valor definido na tarefa tem precedência.
Defina várias variáveis de ambiente
Pode definir várias variáveis de ambiente através do ficheiro .env
ou da flag --set-env-vars
.
Defina várias variáveis de ambiente através do ficheiro .env
Consola
Na Google Cloud consola, aceda à página Tarefas do Cloud Run:
Selecione Tarefas no menu e clique em Implementar contentor para preencher a página de definições iniciais da tarefa. Se estiver a configurar uma tarefa existente, selecione a tarefa e, de seguida, clique em Editar.
Clique em Recipientes, volumes, ligações, segurança para expandir a página de propriedades da tarefa.
Clique no separador Contentor.
- No separador Variáveis e segredos, clique em Adicionar variável
e cole o conteúdo do ficheiro
.env
no campo Nome. O Cloud Run preenche automaticamente o campo Valor e cria novas variáveis para cada par de chave-valor que definir no ficheiro.env
.
- No separador Variáveis e segredos, clique em Adicionar variável
e cole o conteúdo do ficheiro
Clique em Criar ou Atualizar.
gcloud
Para especificar várias variáveis de ambiente a partir do ficheiro .env
, execute o seguinte comando:
gcloud beta run jobs create JOB_NAME --image=IMAGE_URL --env-vars-file=ENV_FILE_PATH
Substitua o seguinte:
- JOB_NAME: o nome da sua tarefa do Cloud Run.
- IMAGE_URL: uma referência à
imagem do contentor, por exemplo,
us-docker.pkg.dev/cloudrun/container/job:latest
. - ENV_FILE_PATH: caminho para o ficheiro
.env
.
Defina várias variáveis de ambiente com a flag --set-env-vars
Se tiver várias variáveis de ambiente que não podem ser listadas no formato KEY1=VALUE1,KEY2=VALUE2
, pode repetir a flag --set-env-vars
várias vezes:
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
Escape de carateres de vírgula
Uma vez que o caráter de vírgula,
é usado para dividir as variáveis de ambiente, se a sua variável de ambiente contiver carateres de vírgula como valores, tem de escapar a esses delimitadores especificando um caráter delimitador diferente, por exemplo, @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Atualize as variáveis de ambiente
Pode atualizar as variáveis de ambiente para tarefas existentes. Esta é uma abordagem não destrutiva que altera ou adiciona variáveis de ambiente, mas não elimina as variáveis de ambiente definidas anteriormente.
Consola
Para atualizar as variáveis de ambiente através da consola Google Cloud :
Na Google Cloud consola, aceda ao Cloud Run:
Selecione a tarefa na lista e clique em Editar e implementar nova revisão.
Clique no separador Contentor.
No separador Variáveis e segredos, edite os campos Nome ou Valor e clique em Concluído.
Clique em Implementar.
gcloud
Para atualizar as variáveis de ambiente de uma tarefa existente, use a flag
--update-env-vars
:
gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Substitua o seguinte:
- JOB_NAME: o nome da sua profissão.
- KEY1=VALUE1,KEY2=VALUE2: lista separada por vírgulas de nomes e valores de variáveis.
Veja as definições das variáveis de ambiente
Para ver as definições atuais das variáveis de ambiente para a sua tarefa do Cloud Run:
Consola
Na Google Cloud consola, aceda à página Tarefas do Cloud Run:
Clique no trabalho que lhe interessa para abrir a página Detalhes do trabalho.
Clique em Ver e editar configuração da tarefa.
Localize a definição de variáveis de ambiente nos detalhes de configuração.
gcloud
Use o seguinte comando:
gcloud run jobs describe JOB_NAME
Localize a definição de variáveis de ambiente na configuração devolvida.
Elimine variáveis de ambiente
Pode eliminar variáveis de ambiente para tarefas existentes.
Consola
Para eliminar variáveis de ambiente através da Google Cloud consola:
Na Google Cloud consola, aceda ao Cloud Run:
Selecione a tarefa na lista e clique em Editar e implementar nova revisão.
Clique no separador Contentor.
No separador Variáveis e segredos, mova o cursor para a esquerda do campo Valor da variável de ambiente que está a remover para apresentar o ícone
Eliminar e clique nele.Clique em Concluído.
Clique em Implementar.
gcloud
Para remover seletivamente variáveis de ambiente de uma tarefa existente, use a flag
--remove-env-vars
:
gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2
Substitua o seguinte:
- JOB_NAME: o nome da sua profissão.
- KEY1,KEY2: lista de nomes de variáveis separados por vírgulas.
Em alternativa, limpe todas as variáveis de ambiente definidas anteriormente com a flag --clear-env-vars
:
gcloud run jobs update JOB_NAME --clear-env-vars