Observer les changements d'une variable

Cette page explique comment créer un objet "Watcher" (observateur) pour une variable. Pour en savoir plus sur les services d'observation, consultez les principes de base de Runtime Configurator.

Avant de commencer

Observer les changements d'une variable

Vous pouvez appeler la méthode variables().watch pour observer une variable afin d'en détecter les modifications. La méthode surveille la variable pendant 60 secondes et, le cas échéant, retourne une réponse indiquant que la valeur de la variable a changé. Si la valeur ne change pas dans les 60 secondes, la méthode renvoie une réponse mentionnant l'état state=VARIABLE_STATE_UNSPECIFIED. Si la variable est supprimée, la méthode renvoie une réponse mentionnant l'état state=DELETED, ainsi que la dernière valeur connue pour la variable.

Pour définir un observateur, utilisez Deployment Manager, Google Cloud CLI ou API.

Deployment Manager

Cette fonctionnalité n'est pas prise en charge dans Deployment Manager. Créez un service de veille à la place.

gcloud

Avec la Google Cloud CLI:

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

où :

  • [VARIABLE_KEY] est la clé à observer.
  • [TIMEOUT_SEC] est la durée d'observation en secondes. La durée par défaut/maximale est de 60 secondes.

La gcloud CLI surveille la variable et renvoie une réponse une fois qu'elle atteint la délai avant expiration spécifié ou si la variable est modifiée. Si la variable a été modifiée, la réponse contient l'un des états de variable applicables.

API

Dans l'API, envoyez une demande POST à l'adresse URI suivante :

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

où :

  • [PROJECT_ID] est l'ID de projet de cette requête.
  • [CONFIG_NAME] est le nom de la ressource RuntimeConfig concernée par cette requête.
  • [VARIABLE_KEY] est la clé à observer.

    Vous pouvez éventuellement fournir une charge utile de requête à l'aide de la propriété newerThan :

    { "newerThan": "[TIMESTAMP]" }

    Ici, [TIMESTAMP] est une valeur d'horodatage spécifiée au format RFC 3339 UTC "Zulu". Exemple :

    2014-10-02T15:01:23.045123456Z

    Si vous fournissez la propriété newerThan, la méthode renvoie immédiatement une réponse lorsque la valeur d'horodatage actuelle de la variable correspond à une date plus récente que celle spécifiée dans le champ "Timestamp". Utilisez la propriété newerThan pour vous assurer de ne pas manquer les modifications qui pourraient se produire entre des appels watch().

    La méthode renvoie une réponse indiquant l'un des états de variable applicables.

    Pour en savoir plus sur la méthode, consultez la documentation sur variables().watch.

Étape suivante