En esta página se explica cómo definir, obtener y actualizar variables con RuntimeConfigurator. Las variables son pares clave-valor que pertenecen a un recurso RuntimeConfig. Cada par clave-valor contiene los datos que definas. Después de crear una variable, puedes definir un observador o un esperador en ella.
Para obtener más información sobre las variables y el servicio Runtime Configurator, consulta la documentación sobre los conceptos básicos de Runtime Configurator.
Para saber cómo crear un recurso RuntimeConfig, consulta Crear y eliminar recursos RuntimeConfig.
Antes de empezar
- Si quieres usar los ejemplos de línea de comandos de esta guía, instala la herramienta de línea de comandos`gcloud`.
- Si quieres usar los ejemplos de API de esta guía, configura el acceso a la API.
- Consulta el artículo Fundamentos de Runtime Configurator.
- Consulta el artículo Crear y eliminar recursos RuntimeConfig.
Crear una variable
Una variable es un par clave-valor. Una clave de variable puede ser plana o jerárquica. Por ejemplo, todas las siguientes son claves válidas:
status
users/jane-smith/favorite-color
users/total
Solo las claves de los nodos hoja pueden tener valores. En el ejemplo anterior, no puedes asignar un valor a lo siguiente:
users
users/jane-smith
Esto se debe a que ambas teclas contienen otras teclas debajo.
Para crear una variable, usa Deployment Manager, Google Cloud CLI o la API.
Deployment Manager
Para crear una variable en Deployment Manager, especifica el tipo de variable:
runtimeconfig.v1beta1.variable
En las propiedades de la variable, proporciona name
, location
y value
de la variable:
- name: [NAME]
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.[CONFIG_NAME].name)
variable: [VARIABLE_KEY]
[value | text]: [VARIABLE_VALUE]
donde:
[NAME]
es el nombre de recurso arbitrario de esta variable. No es el nombre de la variable en sí.[CONFIG_NAME]
es el recurso Config de esta solicitud.[VARIABLE_KEY]
es la clave de esta variable. Por ejemplo,status
yusers/jane-smith/favorite_color
son claves válidas. Las claves de las variables pueden incluir/
. Una clave de variable puede contener dígitos, letras, guiones y barras, y la longitud máxima de un nombre es de 256 caracteres.[VARIABLE_VALUE]
es el valor de esta variable. En función de si quieres asignar un valor como texto sin formato o como una cadena codificada en Base64, elige la propiedadvalue
otext
:value
: si proporcionas un valor como una cadena codificada en base64, usa la propiedadvalue
.text
: si proporcionas una cadena de texto sin formato, usa la propiedadtext
. La cadena debe ser UTF-8 válida.
gcloud
Para crear una variable con la CLI de Google Cloud, usa el comando runtime-config configs variables set
:
gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
[VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]
donde:
[VARIABLE_KEY]
es la clave de la variable. Por ejemplo,status
yusers/jane-smith/favorite_color
son claves válidas. Las claves de las variables pueden incluir/
. Una clave de variable puede contener dígitos, letras, guiones y barras. La longitud máxima de un nombre es de 256 caracteres.[VARIABLE_VALUE]
es el valor de esta variable. Puede asignar un valor como texto sin formato o como una cadena codificada en base64. Si especifica un valor de texto sin formato, proporcione la marca--is-text
. De lo contrario, Google Cloud CLI codificará el valor en base64.gcloud beta runtime-config configs variables set [VARIABLE_KEY] \ [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-text
También puedes proporcionar el valor de la variable desde un archivo. Por ejemplo:
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]
Nota: No es necesario que codifiques este valor porque
gcloud
lo hará por ti.[CONFIG_NAME]
es el nombre del recurso RuntimeConfig en el que se debe crear esta variable. Por ejemplo,frontend-config
.Por ejemplo:
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-config
La CLI de gcloud devuelve una respuesta como la siguiente:
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
De forma predeterminada, las variables que ya existan se sobrescribirán de forma silenciosa. Si quieres conservar una variable que ya existe, incluye la marca --fail-if-present
, que crea la variable si no existe.
Del mismo modo, también puedes rechazar la solicitud de la variable si no está presente proporcionando la marca --fail-if-absent
.
Para consultar la referencia completa de este comando gcloud
, lee la documentación de referencia de runtime-config variables set
.
API
En la API REST, haz una solicitud POST
al siguiente URI para crear una variable:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
donde [PROJECT_ID]
es el ID del proyecto de esta solicitud. La carga útil de la solicitud contiene el URI del recurso RuntimeConfig y el valor de texto sin formato de la clave o el valor codificado en Base64:
{
"name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
donde:
[PROJECT_ID]
es el ID del proyecto de esta solicitud.[CONFIG_NAME]
es el nombre de esta configuración.[VARIABLE_KEY]
es la clave de la variable. Por ejemplo,status
yusers/jane-smith/favorite_color
. Las claves de las variables pueden incluir/
. Una clave de variable puede contener dígitos, letras, guiones y barras, y la longitud máxima de un nombre es de 256 caracteres.[VARIABLE_VALUE]
es el valor de esta variable. En función de si quieres asignar un valor como texto sin formato o como una cadena codificada en base64, elige la propiedadvalue
otext
:value
: si proporcionas un valor como una cadena codificada en base64, usa la propiedadvalue
.text
: si proporcionas una cadena de texto sin formato, usa la propiedadtext
. La cadena debe ser UTF-8 válida.
Si la acción se realiza correctamente, la API devuelve una respuesta como la siguiente:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Para obtener más información sobre este método, consulta la documentación de
variables().create
.
Actualizar una variable
Deployment Manager
Para actualizar una variable en Deployment Manager, sigue estos pasos:
Define o actualiza las propiedades de la variable tal como se describe en el artículo Crear una variable.
Sigue los pasos para enviar la solicitud de actualización.
gcloud
Para actualizar una variable, sigue el mismo proceso que para crear una variable.
API
En la API REST, haz una solicitud PUT
al siguiente URI para actualizar una variable:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
donde:
[PROJECT_ID]
es el ID del proyecto de esta solicitud.[CONFIG_NAME]
es el nombre de esta configuración.[VARIABLE_VALUE]
es el valor de esta variable. Se trata de una cadena que se ha codificado en base64.
La carga útil de la solicitud debe ser la siguiente:
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
donde [VARIABLE_VALUE]
es el valor de esta variable. En función de si quieres asignar un valor como texto sin formato o como una cadena codificada en base64, elige la propiedad value
o text
:
value
: Si proporciona un valor como cadena codificada en base64, utilice la propiedadvalue
.text
: si proporcionas una cadena de texto sin formato, usa la propiedadtext
. La cadena debe ser UTF-8 válida.
Si la acción se realiza correctamente, la API devuelve una respuesta como la siguiente:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:46:11.591713370Z", "state": "UPDATED" }
Para obtener más información sobre este método, consulta la documentación de variables().create
.
Obtener el valor de una variable
Deployment Manager
Obtén el valor de una variable con uno de los siguientes métodos:
gcloud
Para crear una variable con la CLI de Google Cloud, usa el comando runtime-config configs variables get-value
:
gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]
donde:
[VARIABLE_KEY]
es la clave de la variable. Por ejemplo,status
,users/jane-smith/favorite_color
.[CONFIG_NAME]
es el nombre del recurso RuntimeConfig de esta variable. Por ejemplo,website
.La CLI de gcloud devuelve una respuesta como la siguiente:
example-value
También puedes obtener una lista de las variables para las que tienes permiso runtimeconfig.variables.get
y sus valores mediante el comando list
y la marca --values
. Por ejemplo:
gcloud beta runtime-config configs variables list --config-name example-config --values
La CLI de gcloud devuelve una lista como esta:
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
Se omitirán las variables para las que no tengas permiso get
. Esto incluye las variables en las que tienes permiso de list
, pero no de get
.
Para consultar la referencia completa de este comando gcloud
, lee la documentación de referencia de runtime-config variables
.
API
En la API REST, haz una solicitud GET
al siguiente URI para obtener el valor de una variable:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
donde:
[PROJECT_ID]
es el ID del proyecto de esta solicitud.[CONFIG_NAME]
es el nombre de esta configuración.[VARIABLE_KEY]
es el nombre de esta solicitud.
Si se realiza correctamente, la API devuelve una respuesta con el valor codificado en base64 de la variable:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "[VARIABLE_VALUE]", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Debes decodificar el valor tú mismo para obtener la cadena. Para obtener más información sobre este método, consulta la documentación de variables().get
.
Si quieres obtener una lista de las variables para las que tienes permiso runtimeconfig.variables.get
y sus valores, usa el método returnValues
. Por ejemplo:
GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True
La API devuelve todas las variables para las que tienes permiso:
{
"variables": [
{
"name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
"updateTime": "2016-04-18T21:14:59.932428461Z",
"value": "b3Jhbmdl"
}
]
}
Del mismo modo, debes decodificar el valor para obtener la cadena.
Para obtener más información sobre este método, consulta la documentación de variables().list
.
Siguientes pasos
- Consulta información sobre Runtime Configurator.
- Observar una variable específica
- Crear un recurso de espera
- Crear y eliminar recursos RuntimeConfig
- Consulta la referencia de v1beta1.
- Consulta las cuotas de Runtime Configurator.