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:
status
users/jane-smith/favorite-color
users/total
Apenas as chaves de nó folha podem ter valores. No exemplo acima, não pode atribuir um valor a:
users
users/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,status
eusers/jane-smith/favorite_color
sã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 propriedadevalue
outext
: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,status
eusers/jane-smith/favorite_color
sã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-text
També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
gcloud
faz 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-config
A 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,status
eusers/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 propriedadevalue
outext
: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().create
documentaçã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.