Configurar y obtener datos

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

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 y users/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 propiedad value o text:
    • value: si proporcionas un valor como una string base64 codificada, usa la propiedad value.
    • text: si proporcionas una string de texto sin formato, usa la propiedad text. 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 y users/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 una string codificada en base64. 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 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 como 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 el ejemplo anterior, [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 simple 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 y users/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 propiedad value o text:

    • value: si proporcionas un valor como una string base64 codificada, usa la propiedad value.
    • text: si proporcionas una string de texto sin formato, usa la propiedad text. 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:

  1. Define o actualiza las propiedades de tu variable según se describe en Crear una variable.

  2. 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 propiedad value.
  • text: si proporcionas una string de texto sin formato, usa la propiedad text. 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 como la siguiente:

    example-value

También puedes obtener una lista de variables para las que tienes permiso runtimeconfig.variables.gety 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 muestra una lista como la siguiente:

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.

Próximos pasos