Esta página explica como definir, obter e atualizar variáveis através do Runtime Configurator. As variáveis são pares de valor-chave que pertencem a um recurso RuntimeConfig. Cada par chave-valor contém dados que define. Depois de criar uma variável, pode definir um observador ou um tempo de espera na mesma.
Para saber mais sobre as variáveis e o serviço Runtime Configurator, consulte a documentação Fundamentos do Runtime Configurator.
Para saber como criar um recurso RuntimeConfig, consulte o artigo Criar e eliminar recursos RuntimeConfig.
Antes de começar
- Se quiser usar os exemplos de linhas de comando neste guia, instale a ferramenta de linhas de comando`gcloud`.
- Se quiser usar os exemplos de API neste guia, configure o acesso à API.
- Leia o artigo Fundamentos do Runtime Configurator.
- Leia o artigo Criar e eliminar recursos do RuntimeConfig.
Criar uma variável
Uma variável é um par de chave-valor. Uma chave de variável pode ser simples ou hierárquica. Por exemplo, todas as seguintes são chaves válidas:
statususers/jane-smith/favorite-colorusers/total
Apenas as chaves de nó folha podem ter valores. No exemplo acima, não pode atribuir um valor a:
usersusers/jane-smith
Isto deve-se ao facto de ambas as teclas conterem outras teclas abaixo.
Para criar uma variável, use o Deployment Manager, a Google Cloud CLI ou a API.
Deployment Manager
Para criar uma variável no Deployment Manager, especifique o tipo de variável:
runtimeconfig.v1beta1.variable
Nas propriedades da variável, indique o name, o location e o
value da variável:
- name: [NAME]
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.[CONFIG_NAME].name)
variable: [VARIABLE_KEY]
[value | text]: [VARIABLE_VALUE]
where:
[NAME]é o nome do recurso arbitrário desta variável. Este não é o nome da variável propriamente dito.[CONFIG_NAME]é o recurso de configuração para este pedido.[VARIABLE_KEY]é a chave desta variável. Por exemplo,statuseusers/jane-smith/favorite_colorsão chaves válidas. As chaves variáveis podem conter/. Uma chave variável pode conter dígitos, letras, travessões e barras, e o comprimento máximo de um nome é de 256 carateres.[VARIABLE_VALUE]é o valor desta variável. Consoante queira atribuir um valor como texto simples ou como uma string codificada em base64, escolha a propriedadevalueoutext:value: se fornecer um valor como uma string codificada em base64, use a propriedadevalue.text: se fornecer uma string de texto simples, use a propriedadetext. A string tem de ser UTF-8 válida.
gcloud
Para criar uma variável com a CLI gcloud, use o comando
runtime-config configs variables set:
gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
[VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]
where:
[VARIABLE_KEY]é a chave da variável. Por exemplo,statuseusers/jane-smith/favorite_colorsão chaves válidas. As chaves variáveis podem conter/. Uma chave variável pode conter dígitos, letras, travessões e barras invertidas, e o comprimento máximo de um nome é de 256 carateres.[VARIABLE_VALUE]é o valor desta variável. Pode atribuir um valor como texto simples ou como uma string codificada em base64. Se especificar um valor de texto simples, forneça a flag--is-text; caso contrário, a CLI Google Cloud codifica o valor na codificação base64.gcloud beta runtime-config configs variables set [VARIABLE_KEY] \ [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-textTambém pode fornecer o valor da variável a partir de um ficheiro. Por exemplo:
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]Nota: não tem de codificar este valor porque o
gcloudfaz a codificação por si.[CONFIG_NAME]é o nome do recurso RuntimeConfig onde esta variável deve ser criada. Por exemplo,frontend-config.Por exemplo:
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-configA CLI gcloud devolve uma resposta como:
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
Por predefinição, as variáveis existentes são substituídas silenciosamente. Se quiser preservar uma variável existente, inclua a flag --fail-if-present, que cria a nova variável se não existir.
Da mesma forma, também pode falhar o pedido se a variável estiver ausente, fornecendo a flag --fail-if-absent.
Para ver a referência completa deste comando gcloud, leia a documentação de referência runtime-config variables set.
API
Na API REST, faça um pedido POST ao seguinte URI para criar uma nova variável:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
em que [PROJECT_ID] é o ID do projeto para este pedido. A carga útil
do pedido contém o URI para o recurso RuntimeConfig e o valor
de texto simples da chave ou o valor codificado em base64:
{
"name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
where:
[PROJECT_ID]é o ID do projeto para este pedido.[CONFIG_NAME]é o nome desta configuração.[VARIABLE_KEY]é a chave da variável. Por exemplo,statuseusers/jane-smith/favorite_color. As chaves variáveis podem conter/. Uma chave de variável pode conter dígitos, letras, travessões e barras, e o comprimento máximo de um nome é de 256 carateres.[VARIABLE_VALUE]é o valor desta variável. Consoante pretenda atribuir um valor como texto simples ou como uma string codificada em base64, escolha a propriedadevalueoutext:value: se fornecer um valor como uma string codificada em base64, use a propriedadevalue.text: se fornecer uma string de texto simples, use a propriedadetext. A string tem de ser UTF-8 válida.
Se for bem-sucedida, a API devolve uma resposta como:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Para saber mais sobre o método, leia a
variables().createdocumentação.
Atualizar uma variável
Deployment Manager
Para atualizar uma variável no Deployment Manager:
Defina ou atualize as propriedades das variáveis, conforme descrito no artigo Criar uma variável.
Siga os passos para fazer o pedido de atualização.
gcloud
Atualize uma variável através do mesmo processo para criar uma variável.
API
Na API REST, faça um pedido PUT ao seguinte URI para atualizar uma variável:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
where:
[PROJECT_ID]é o ID do projeto para este pedido.[CONFIG_NAME]é o nome desta configuração.[VARIABLE_VALUE]é o valor desta variável. Esta é uma string que foi codificada em base64.
O payload do pedido tem de ser:
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
em que [VARIABLE_VALUE] é o valor desta variável. Consoante pretenda atribuir um valor como texto simples ou como uma string codificada em base64, escolha a propriedade value ou text:
value: se fornecer um valor como uma string codificada em base64, use a propriedadevalue.text: se fornecer uma string de texto simples, use a propriedadetext. A string tem de ser UTF-8 válida.
Se for bem-sucedida, a API devolve uma resposta como:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:46:11.591713370Z", "state": "UPDATED" }
Para saber mais sobre o método, leia a
variables().create
documentação.
Obter o valor de uma variável
Deployment Manager
Obtenha o valor de uma variável através de um dos seguintes métodos:
gcloud
Para criar uma variável com a CLI gcloud, use o comando
runtime-config configs variables get-value:
gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]
where:
[VARIABLE_KEY]é a chave da variável. Por exemplo,status,users/jane-smith/favorite_color.[CONFIG_NAME]é o nome do recurso RuntimeConfig para esta variável. Por exemplo,website.A CLI gcloud devolve uma resposta como:
example-value
Também pode obter uma lista de variáveis para as quais tem
runtimeconfig.variables.get autorização
e os respetivos valores através do comando list e fornecendo a flag --values. Por exemplo:
gcloud beta runtime-config configs variables list --config-name example-config --values
A CLI gcloud devolve uma lista da seguinte forma:
NAME UPDATE_TIME VALUE
not-my-favorite-color/shade 2016-04-18T21:14:59.932428461Z orange
not-my-favorite-food/group 2016-04-18T21:14:59.932428461Z vegetables
Todas as variáveis para as quais não tem autorização get serão omitidas. Isto inclui variáveis para as quais tem autorização list, mas não autorização get.
Para ver a referência completa deste comando gcloud, leia a documentação de referência
runtime-config variables.
API
Na API REST, faça um pedido GET ao seguinte URI para obter o valor de uma variável:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
where:
[PROJECT_ID]é o ID do projeto para este pedido.[CONFIG_NAME]é o nome desta configuração.[VARIABLE_KEY]é o nome deste pedido.
Se tiver êxito, a API devolve uma resposta com o valor codificado em base64 da variável:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "[VARIABLE_VALUE]", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Tem de descodificar o valor para obter a string. Para saber mais sobre o método, leia a documentação variables().get.
Se quiser obter uma lista de variáveis para as quais tem autorização runtimeconfig.variables.get e os respetivos valores, use o método returnValues. Por exemplo:
GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True
A API devolve todas as variáveis para as quais tem autorização:
{
"variables": [
{
"name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
"updateTime": "2016-04-18T21:14:59.932428461Z",
"value": "b3Jhbmdl"
}
]
}
Da mesma forma, tem de descodificar o valor para obter a string.
Para saber mais sobre o método, leia a documentação variables().list.
O que se segue?
- Saiba mais sobre o Runtime Configurator.
- Monitorizar uma variável específica.
- Criar um Waiter.
- Criar e eliminar recursos do RuntimeConfig.
- Consulte a referência v1beta1.
- Consulte as quotas do Runtime Configurator.