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

Monitoraggio delle modifiche di una variabile

Puoi monitorare una variabile per rilevare le modifiche chiamando 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 da guardare.
  • [TIMEOUT_SEC] è il tempo di attesa in secondi. Il valore predefinito e massimo è 60 secondi.

La gcloud CLI monitora la variabile e restituisce un valore dopo aver raggiunto il periodo di tempo di spegnimento specificato o dopo che la variabile è cambiata. 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.

    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 restituisce immediatamente se il timestamp corrente della variabile è più recente del timestamp specificato. Utilizza la proprietà newerThan per assicurarti di non aver perso modifiche tra le chiamate watch().

    Il metodo restituisce uno degli stati delle variabili applicabili.

    Per scoprire di più sul metodo, consulta la documentazione di variables().watch.

Passaggi successivi