Controllo delle modifiche di una variabile

Questa pagina spiega come creare un watcher per una variabile. Per scoprire di più sui watcher, consulta Concetti fondamentali di Runtime Configurator.

Prima di iniziare

Osservazione delle modifiche di una variabile

Puoi osservare le modifiche di una variabile chiamando il metodo variables().watch. Il metodo monitora la variabile per 60 secondi e restituisce un valore se la variabile cambia. Se il valore non cambia entro 60 secondi, il metodo termina e restituisce la variabile state=VARIABLE_STATE_UNSPECIFIED. Se la variabile viene eliminata, il metodo restituisce una variabile state=DELETED e l'ultimo valore noto della variabile.

Per impostare un watcher, utilizza Deployment Manager, Google Cloud CLI o l'API.

Deployment Manager

Questa operazione non è supportata in Deployment Manager. Crea una risorsa waiter.

gcloud

Con Google Cloud CLI:

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

dove:

  • [VARIABLE_KEY] è la chiave da guardare.
  • [TIMEOUT_SEC] è il tempo di attesa in secondi. L'importo predefinito e massimo è 60 secondi.

gcloud CLI monitora la variabile e restituisce un valore dopo che ha raggiunto il periodo di timeout specificato o la variabile cambia. Se la variabile è cambiata, la risposta contiene uno degli stati della variabile applicabili.

API

Nell'API, invia una richiesta POST al seguente URI:

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

dove:

  • [PROJECT_ID] è l'ID progetto per questa richiesta.
  • [CONFIG_NAME] è il nome della risorsa RuntimeConfig per questa richiesta.
  • [VARIABLE_KEY] è la chiave da guardare.

    (Facoltativo) Puoi fornire un payload della richiesta con la proprietà newerThan:

    { "newerThan": "[TIMESTAMP]" }

    dove [TIMESTAMP] è un timestamp in formato RFC 3339 dall'epoca in UTC "Zulu". Ad esempio:

    2014-10-02T15:01:23.045123456Z

    Se fornisci la proprietà newerThan, il metodo viene restituito immediatamente se il timestamp attuale della variabile è più recente del timestamp specificato. Utilizza la proprietà newerThan per assicurarti di non aver perso nessuna modifica tra le chiamate watch().

    Il metodo restituisce uno degli stati delle variabili applicabili.

    Per saperne di più sul metodo, leggi la variables().watch documentazione.

Passaggi successivi