Nesta página, descrevemos como configurar variáveis de ambiente para sua instância do Cloud Run.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar instâncias do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM:
- Desenvolvedor do Cloud Run (
roles/run.developer) na instância do Cloud Run - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do 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 a instância do Cloud Run interage com Google Cloud APIs, como as 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 uma instância do Cloud Run usando a Google Cloud CLI ou o YAML:
gcloud
Para especificar variáveis de ambiente ao criar a instância, use a
--set-env-vars sinalização:
gcloud beta run instances create INSTANCE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Substitua:
- INSTANCE: o nome da instância
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.- KEY1=VALUE1,KEY2=VALUE2: a lista separada por vírgulas de nomes e valores de variáveis
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 uma nova instância, pule esta etapa. Se você estiver atualizando uma instância, baixe a configuração YAML correspondente:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
O exemplo a seguir contém a configuração YAML:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - env: - name: KEY value: VALUE - name: KEY2 value: VALUE2 image: IMAGE
Substitua:
- INSTANCE: o nome da instância do Cloud Run.
- KEY e VALUE: o nome e os valores das variáveis de ambiente.
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello:latest.
Crie ou atualize a instância usando o seguinte comando:
gcloud beta run instances replace instance.yaml
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 instância
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 na instância do Cloud Run, o valor definido na instância 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
gcloud
Para especificar várias variáveis de ambiente no arquivo .env, execute o seguinte comando:
gcloud beta run instances create INSTANCE --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
Substitua:
- INSTANCE: o nome da instância.
IMAGE_URL: uma referência à imagem de contêiner, comous-docker.pkg.dev/cloudrun/container/hello: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 as variáveis de ambiente de execução para as instâncias atuais. Essa é uma abordagem não destrutiva que altera ou adiciona variáveis de ambiente de execução, mas não as exclui.
É possível atualizar variáveis de ambiente usando a Google Cloud CLI ou o YAML:
gcloud
Para atualizar as variáveis de ambiente de uma instância, use a
--update-env-vars
sinalização:
gcloud beta run instances update INSTANCE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Substitua:
- INSTANCE: o nome da instância
- KEY1=VALUE1,KEY2=VALUE2: a lista separada por vírgulas de nomes e valores de variáveis
YAML
Faça o download da configuração YAML da instância:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
Edite as variáveis de chave (nome) e valor.
Atualize a instância usando o seguinte comando:
gcloud beta run instances replace instance.yaml
Excluir variáveis de ambiente
gcloud
Para remover seletivamente as variáveis de ambiente de uma instância, use
a --remove-env-vars
sinalização:
gcloud beta run instances update INSTANCE --remove-env-vars KEY1,KEY2
Substitua:
- INSTANCE: o nome da instância
- KEY1,KEY2: a 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 beta run instances update INSTANCE --clear-env-vars
Substitua INSTANCE pelo nome da instância.
Exemplo de código
Para ver um exemplo de código que mostra como acessar as variáveis de ambiente no código, consulte Como processar a configuração confidencial com o Secret Manager no tutorial de autenticação de usuário final.
A seguir
É possível usar variáveis de ambiente para definir uma configuração de buildpacks. Para detalhes específicos da linguagem, consulte a documentação de buildpacks com relação ao seguinte: