En esta página se explica cómo establecer, obtener y actualizar variables mediante Runtime Configurator. Las variables son pares clave-valor que pertenecen a un recurso RuntimeConfig. Cada par clave-valor contiene datos que tú defines. Tras crear una variable, puedes establecer un agente de observación o un recurso de espera en esta.
Para obtener más información acerca de las variables y el servicio de Runtime Configurator, consulta la documentación de Conceptos básicos de Runtime Configurator.
A fin de aprender a crear un recurso RuntimeConfig, consulta Crear y borrar recursos RuntimeConfig.
Antes de comenzar
- Si deseas usar los ejemplos de línea de comandos de esta guía, instala la herramienta de línea de comandos de gcloud.
- Si deseas usar los ejemplos de la API en esta guía, configura el acceso a la API.
- Lee Conceptos básicos de Runtime Configurator.
- Lee Crear y borrar recursos de RuntimeConfig.
Crear una variable
Una variable es un par clave-valor. Una clave variable puede ser plana o jerárquica. Por ejemplo, todas las siguientes opciones son claves válidas:
status
users/jane-smith/favorite-color
users/total
Solamente las claves del nodo de hoja pueden tener valores. En el ejemplo anterior, no puedes asignarle un valor a lo siguiente:
users
users/jane-smith
Esto se debe a que ambas claves contienen otras claves debajo de ellas.
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 el 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 del recurso arbitrario para esta variable. Este no es el nombre de la variable en sí.[CONFIG_NAME]
es el recurso de configuración para esta solicitud.[VARIABLE_KEY]
es la clave de esta variable. Por ejemplo,status
yusers/jane-smith/favorite_color
son claves válidas. Las claves variables pueden contener/
. Una clave variable puede contener dígitos, letras, guiones y barras inclinadas, y la longitud máxima para un nombre es de 256 caracteres.[VARIABLE_VALUE]
es el valor de esta variable. Según si deseas asignar un valor como texto sin formato o como una string codificada en base64, elige la propiedadvalue
otext
:value
: si proporcionas un valor como una string base64 codificada, usa la propiedadvalue
.text
: si proporcionas una string de texto sin formato, usa la propiedadtext
. La string debe estar en UTF-8 válido.
gcloud
Para crear una variable con Google Cloud CLI, 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 variables pueden contener/
. Una clave variable puede contener dígitos, letras, guiones y barras inclinadas, y la longitud máxima para un nombre es de 256 caracteres.[VARIABLE_VALUE]
es el valor de esta variable. Puedes asignar un valor como texto sin formato o como un valor codificado en base64 una cadena vacía. Si especificas un valor de texto sin formato, proporciona la marca--is-text
. de lo contrario, Google Cloud CLI codificará el valor en codificación 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 variable desde un archivo. Por ejemplo:
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]
Nota: No necesitas codificar este valor porque
gcloud
realizará la codificación por ti.[CONFIG_NAME]
es el nombre del recurso RuntimeConfig donde debería crearse esta variable. Por ejemplo,frontend-config
.Por ejemplo:
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-config
Gcloud CLI muestra una respuesta similar a la siguiente:
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
De forma predeterminada, todas las variables existentes se sobrescribirán silenciosamente. Si deseas conservar una variable que existe, incluye el indicador --fail-if-present
, que crea la nueva variable si no existe.
Del mismo modo, también puedes cancelar la solicitud de la variable ausente al proporcionar el indicador --fail-if-absent
.
Para obtener la referencia completa de este comando gcloud
, lee la documentación de referencia runtime-config variables set
.
API
En la API de REST, realiza una solicitud POST
al siguiente URI para crear una nueva variable:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
en la que [PROJECT_ID]
es el ID del proyecto para 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 variables pueden contener/
. Una clave variable puede contener dígitos, letras, guiones y barras inclinadas, y la longitud máxima para un nombre es de 256 caracteres.[VARIABLE_VALUE]
es el valor de esta variable. Según si deseas asignar un valor como texto sin formato o como una string codificada en base64, elige la propiedadvalue
otext
:value
: si proporcionas un valor como una string base64 codificada, usa la propiedadvalue
.text
: si proporcionas una string de texto sin formato, usa la propiedadtext
. La string debe estar en UTF-8 válido.
Si se realiza correctamente, la API muestra una respuesta como esta:
{ "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 el método, lee la documentación de
variables().create
.
Actualiza una variable
Deployment Manager
Para actualizar una variable en Deployment Manager, sigue estos pasos:
Define o actualiza las propiedades de tu variable según se describe en Crear una variable.
Sigue los pasos para realizar la solicitud de actualización.
gcloud
Actualiza una variable mediante el mismo proceso que usas para crear una variable.
API
En la API de REST, realiza una solicitud PUT
al siguiente URI a fin de actualizar la 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. Es una string que se codificó en base64.
La carga útil de la solicitud debe ser la siguiente:
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
en el que [VARIABLE_VALUE]
es el valor de esta variable. Según si deseas asignar un valor como texto sin formato o como una string codificada en base64, elige la propiedad value
o text
:
value
: si proporcionas un valor como una string base64 codificada, usa la propiedadvalue
.text
: si proporcionas una string de texto sin formato, usa la propiedadtext
. La string debe estar en UTF-8 válido.
Si se realiza correctamente, la API muestra una respuesta como esta:
{ "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 el método, lee la documentación de variables().create
.
Obtén el valor de una variable
Deployment Manager
Utiliza uno de los siguientes métodos para obtener el valor de una variable:
gcloud
Para crear una variable con Google Cloud CLI, 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 para esta variable. Por ejemplo,website
Gcloud CLI muestra una respuesta similar a la siguiente:
example-value
También puedes obtener una lista de variables para las que tienes
permiso runtimeconfig.variables.get
y sus valores con el comando list
y si proporcionas la marca --values
. Por ejemplo:
gcloud beta runtime-config configs variables list --config-name example-config --values
Gcloud CLI 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á cualquier variable para la que no tengas permiso get
. Eso incluye variables donde tienes permiso list
pero no get
.
Para obtener la referencia completa de este comando gcloud
, lee la documentación de referencia de runtime-config variables
.
API
En la API de REST, realiza una solicitud GET
al siguiente URI a fin de obtener el valor de la 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 muestra una respuesta con un 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 codificar el valor tú mismo para obtener la string. Para obtener más información sobre el método, lee la documentación de variables().get
.
Si deseas obtener una lista de 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 muestra todas las variables para las cuales 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 codificar el valor tú mismo para obtener la string.
Para obtener más información sobre el método, lee la documentación de variables().list
.
¿Qué sigue?
- Obtén más información sobre Runtime Configurator.
- Observar una variable específica.
- Crear un recurso de espera.
- Crear y borrar recursos de RuntimeConfig.
- Consulta la referencia de v1beta1.
- Consulta las Cuotas para Runtime Configurator.