Questa pagina spiega come impostare, recuperare e aggiornare le variabili utilizzando Runtime Configurator. Le variabili sono coppie chiave-valore che appartengono a una risorsa RuntimeConfig. Ogni coppia chiave-valore contiene dati da te definiti. Dopo aver creato una variabile, puoi impostare un watcher o un waiter.
Per saperne di più sulle variabili e sul servizio Runtime Configurator, consulta la documentazione sui concetti fondamentali di Runtime Configurator.
Per scoprire come creare una risorsa RuntimeConfig, consulta Creazione ed eliminazione delle risorse RuntimeConfig.
Prima di iniziare
- Se vuoi utilizzare gli esempi a riga di comando di questa guida, installa lo strumento a riga di comando "gcloud".
- Se vuoi utilizzare gli esempi di API descritti in questa guida, configura l'accesso alle API.
- Leggi Runtime Configurator Fundamentals.
- Leggi Creazione ed eliminazione delle risorse RuntimeConfig.
Creazione di una variabile
Una variabile è una coppia chiave-valore. Una chiave variabile può essere fissa o gerarchica. Ad esempio, tutte le seguenti sono chiavi valide:
status
users/jane-smith/favorite-color
users/total
Solo le chiavi dei nodi foglia possono avere valori. Nell'esempio precedente, non puoi assegnare un valore a:
users
users/jane-smith
Questo perché entrambe le chiavi contengono altre chiavi sottostanti.
Per creare una variabile, utilizza Deployment Manager, Google Cloud CLI o l'API.
Deployment Manager
Per creare una variabile in Deployment Manager, specificane il tipo:
runtimeconfig.v1beta1.variable
Nelle proprietà della variabile, indica i valori name
, location
e value
della variabile:
- name: [NAME]
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.[CONFIG_NAME].name)
variable: [VARIABLE_KEY]
[value | text]: [VARIABLE_VALUE]
dove:
[NAME]
è il nome arbitrario della risorsa per questa variabile. Questo non è il nome della variabile stessa.[CONFIG_NAME]
è la risorsa di configurazione per questa richiesta.[VARIABLE_KEY]
è la chiave di questa variabile. Ad esempio,status
eusers/jane-smith/favorite_color
sono chiavi valide. Le chiavi delle variabili possono contenere/
. Una chiave di variabile può contenere cifre, lettere, trattini e barre e la lunghezza massima di un nome è di 256 caratteri.[VARIABLE_VALUE]
è il valore di questa variabile. A seconda che vuoi assegnare un valore come testo non crittografato o come stringa codifica basata 64, scegli la proprietàvalue
otext
:value
: se fornisci un valore come stringa codificata in Base64, utilizza la proprietàvalue
.text
: se fornisci una stringa in testo non crittografato, utilizza la proprietàtext
. La stringa deve essere in formato UTF-8 valido.
gcloud
Per creare una variabile con Google Cloud CLI, utilizza il comando runtime-config configs variables set
:
gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
[VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]
dove:
[VARIABLE_KEY]
è la chiave della variabile. Ad esempio,status
eusers/jane-smith/favorite_color
sono chiavi valide. Le chiavi delle variabili possono contenere/
. Una chiave variabile può contenere dig, lettere, trattini e barre e la lunghezza massima di un nome è di 256 caratteri.[VARIABLE_VALUE]
è il valore di questa variabile. Puoi assegnare un valore come testo non crittografato o come stringa codificata in base a 64. Se specifichi un valore di testo non crittografato, fornisci il flag--is-text
. In caso contrario, Google Cloud CLI codificherà il valore con la codifica Base64.gcloud beta runtime-config configs variables set [VARIABLE_KEY] \ [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-text
Puoi anche fornire il valore della variabile da un file. Ad esempio:
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]
Nota: non è necessario codificare questo valore perché
gcloud
eseguirà la codifica al posto tuo.[CONFIG_NAME]
è il nome della risorsa RuntimeConfig in cui deve essere creata questa variabile. Ad esempio,frontend-config
.Ad esempio:
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-config
gcloud CLI restituisce una risposta simile a:
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
Per impostazione predefinita, tutte le variabili esistenti verranno sovrascritte automaticamente. Se vuoi conservare una variabile esistente, includi il flag --fail-if-present
, che crea la nuova variabile se non esiste.
Analogamente, puoi anche non andare a buon fine se la richiesta della variabile è assente fornendo il flag --fail-if-absent
.
Per il riferimento completo per questo comando gcloud
, leggi la documentazione di riferimento di runtime-config variables set
.
API
Nell'API REST, effettua una richiesta POST
al seguente URI per creare una nuova variabile:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
dove [PROJECT_ID]
è l'ID progetto per questa richiesta. Il payload della richiesta contiene l'URI della risorsa RuntimeConfig e il valore in testo non crittografato della chiave o il valore codificato in base64:
{
"name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
dove:
[PROJECT_ID]
è l'ID progetto per questa richiesta.[CONFIG_NAME]
è il nome di questa configurazione.[VARIABLE_KEY]
è la chiave della variabile. Ad esempio,status
eusers/jane-smith/favorite_color
. Le chiavi delle variabili possono contenere/
. Una chiave di variabile può contenere dig, lettere, trattini e barre e la lunghezza massima di un nome è di 256 caratteri.[VARIABLE_VALUE]
è il valore di questa variabile. A seconda che vuoi assegnare un valore come testo non crittografato o come stringa codifica basata 64, scegli la proprietàvalue
otext
:value
: se fornisci un valore come stringa codificata in Base64, utilizza la proprietàvalue
.text
: se fornisci una stringa in testo non crittografato, utilizza la proprietàtext
. La stringa deve essere in formato UTF-8 valido.
In caso di esito positivo, l'API restituisce una risposta simile alla seguente:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Per saperne di più sul metodo, consulta la documentazione di
variables().create
.
Aggiornamento di una variabile
Deployment Manager
Per aggiornare una variabile in Deployment Manager:
Definisci o aggiorna le proprietà della variabile come descritto in Creare una variabile.
Segui i passaggi per effettuare la richiesta di aggiornamento.
gcloud
Aggiorna una variabile seguendo la stessa procedura per crearne una.
API
Nell'API REST, effettua una richiesta PUT
al seguente URI per aggiornare una variabile:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
dove:
[PROJECT_ID]
è l'ID progetto per questa richiesta.[CONFIG_NAME]
è il nome di questa configurazione.[VARIABLE_VALUE]
è il valore di questa variabile. Questa è una stringa che è stata codificata in base64.
Il payload della richiesta deve essere:
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
dove [VARIABLE_VALUE]
è il valore per questa variabile. A seconda se vuoi assegnare un valore come testo non crittografato o come stringa con codifica Base64, scegli la proprietà value
o text
:
value
: se fornisci un valore come stringa codificata in Base64, utilizza la proprietàvalue
.text
: se fornisci una stringa in testo non crittografato, utilizza la proprietàtext
. La stringa deve essere in formato UTF-8 valido.
In caso di esito positivo, l'API restituisce una risposta simile alla seguente:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:46:11.591713370Z", "state": "UPDATED" }
Per saperne di più sul metodo, consulta la documentazione di variables().create
.
Ottenere il valore di una variabile
Deployment Manager
Ottieni il valore di una variabile utilizzando uno dei seguenti metodi:
gcloud
Per creare una variabile con Google Cloud CLI, utilizza il comando runtime-config configs variables get-value
:
gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]
dove:
[VARIABLE_KEY]
è la chiave della variabile. Ad esempio,status
,users/jane-smith/favorite_color
.[CONFIG_NAME]
è il nome della risorsa RuntimeConfig per questa variabile. Ad esempio,website
.gcloud CLI restituisce una risposta simile a:
example-value
Puoi anche ottenere un elenco di variabili per le quali disponi dell'autorizzazione runtimeconfig.variables.get
e i relativi valori utilizzando il comando list
e fornendo il flag --values
. Ad esempio:
gcloud beta runtime-config configs variables list --config-name example-config --values
gcloud CLI restituisce un elenco simile al seguente:
NAME UPDATE_TIME VALUE
not-my-favorite-color/shade 2016-04-18T21:14:59.932428461Z orange
not-my-favorite-food/group 2016-04-18T21:14:59.932428461Z vegetables
Tutte le variabili per le quali non disponi dell'autorizzazione get
verranno omesse. Sono incluse le variabili per le quali disponi dell'autorizzazione list
, ma non dell'autorizzazione get
.
Per il riferimento completo per questo comando gcloud
, leggi la documentazione di riferimento di runtime-config variables
.
API
Nell'API REST, effettua una richiesta GET
al seguente URI per ottenere il valore di una variabile:
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
dove:
[PROJECT_ID]
è l'ID progetto per questa richiesta.[CONFIG_NAME]
è il nome di questa configurazione.[VARIABLE_KEY]
è il nome di questa richiesta.
In caso di esito positivo, l'API restituisce una risposta con il valore codificato in Base64 della variabile:
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "[VARIABLE_VALUE]", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Per ottenere la stringa, devi decodificare il valore autonomamente. Per saperne di più sul metodo, leggi la documentazione variables().get
.
Se vuoi ottenere un elenco di variabili per le quali disponi dell'autorizzazione runtimeconfig.variables.get
e relativi valori, utilizza il metodo returnValues
. Ad esempio:
GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True
L'API restituisce tutte le variabili per le quali disponi dell'autorizzazione:
{
"variables": [
{
"name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
"updateTime": "2016-04-18T21:14:59.932428461Z",
"value": "b3Jhbmdl"
}
]
}
Allo stesso modo, per ottenere la stringa devi decodificare il valore personalmente.
Per saperne di più sul metodo, leggi la documentazione variables().list
.
Che cosa succede dopo?
- Scopri di più su Runtime Configurator.
- Controllo di una variabile specifica.
- Creazione di un Waiter.
- Creazione ed eliminazione delle risorse RuntimeConfig.
- Fai riferimento al riferimento v1beta1.
- Consulta Quote per Runtime Configurator.