Observar los cambios en una variable

En esta página se explica cómo crear un observador para una variable. Para obtener más información sobre los observadores, consulta el artículo Fundamentos de Runtime Configurator.

Antes de empezar

Observar una variable para detectar cambios

Puedes observar una variable para detectar cambios llamando al método variables().watch. El método monitoriza la variable durante 60 segundos y devuelve un valor si cambia el valor de la variable. Si el valor no cambia en un plazo de 60 segundos, el método finaliza y devuelve la variable state=VARIABLE_STATE_UNSPECIFIED. Si se elimina la variable, el método devuelve una variable state=DELETED y el último valor conocido de la variable.

Para definir un elemento de observación, usa Deployment Manager, la CLI de Google Cloud o la API.

Deployment Manager

No se admite en Deployment Manager. En su lugar, crea un recurso de espera.

gcloud

Con Google Cloud CLI:

gcloud beta runtime-config configs variables watch [VARIABLE_KEY] --max-wait [TIMEOUT_SEC] --config-name [CONFIG_NAME]

donde:

  • [VARIABLE_KEY] es la clave.
  • [TIMEOUT_SEC] es el tiempo de espera en segundos. El valor predeterminado y el máximo son 60 segundos.

La CLI de gcloud monitoriza la variable y devuelve un valor cuando alcanza el periodo de tiempo de espera especificado o cuando cambia la variable. Si la variable ha cambiado, la respuesta contiene uno de los estados de la variable aplicables.

API

En la API, haz una solicitud POST al siguiente URI:

https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]:watch

donde:

  • [PROJECT_ID] es el ID del proyecto de esta solicitud.
  • [CONFIG_NAME] es el nombre del recurso RuntimeConfig de esta solicitud.
  • [VARIABLE_KEY] es la clave.

    De forma opcional, puedes proporcionar una carga útil de solicitud con la propiedad newerThan:

    { "newerThan": "[TIMESTAMP]" }

    donde [TIMESTAMP] es una marca de tiempo en formato RFC 3339 desde el inicio de la época en UTC "Zulu". Por ejemplo:

    2014-10-02T15:01:23.045123456Z

    Si proporcionas la propiedad newerThan, el método devuelve inmediatamente un valor si la marca de tiempo actual de la variable es más reciente que la marca de tiempo especificada. Usa la propiedad newerThan para asegurarte de que no te has perdido ningún cambio entre llamadas de watch().

    El método devuelve uno de los estados de las variables aplicables.

    Para obtener más información sobre este método, consulta la documentación de variables().watch.

Siguientes pasos