Controllo delle modifiche di una variabile

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

Prima di iniziare

Controllo del cambiamento di una variabile

Puoi osservare le modifiche di una variabile richiamando il metodo variables().watch . Il metodo controlla la variabile per 60 secondi e restituisce un valore se il valore della 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 osservatore, utilizza Deployment Manager, Google Cloud CLI o l'API.

Deployment Manager

Questa operazione non è supportata in Deployment Manager. Crea invece un 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 per guardare contenuti.
  • [TIMEOUT_SEC] è il tempo di attesa in secondi. Valore predefinito e massimo è di 60 secondi.

gcloud CLI controlla la variabile e restituisce dopo che raggiunge il di timeout specificato o la variabile cambia. Se la variabile è cambiata, la risposta contiene uno degli stati della variabile applicabili.

API

Nell'API, effettua 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 per guardare contenuti.

    Facoltativamente, puoi fornire un payload della richiesta con la proprietà newerThan:

    { "newerThan": "[TIMESTAMP]" }

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

    2014-10-02T15:01:23.045123456Z

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

    Il metodo restituisce uno degli stati delle variabili applicabili.

    Per saperne di più sul metodo, leggi l'articolo variables().watch documentazione.

Passaggi successivi