Cette page vous explique comment définir, obtenir et mettre à jour des variables à l'aide de Runtime Configurator. Les variables sont des paires valeur/clé appartenant à une ressource RuntimeConfig. Chaque paire valeur/clé contient des données que vous définissez. Après avoir créé une variable, vous pouvez définir un service Watcher ou Waiter sur celle-ci.
Pour en savoir plus sur les variables et le service Runtime Configurator, consultez la documentation relative aux principes de base de Runtime Configurator.
Pour découvrir comment créer une ressource RuntimeConfig, consultez la section Créer et supprimer des ressources RuntimeConfig.
Avant de commencer
- Si vous voulez vous servir des exemples de ligne de commande de ce guide, installez l'outil de ligne de commande gcloud.
- Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
- Consultez les principes de base de Runtime Configurator.
- Consultez la section Créer et supprimer des ressources RuntimeConfig.
Créer une variable
Une variable est une paire valeur/clé. Une clé de variable peut être plate ou hiérarchique. Par exemple, tous les éléments suivants constituent des clés valides :
status
users/jane-smith/favorite-color
users/total
Seules les clés de nœuds feuilles peuvent posséder des valeurs. Dans l'exemple ci-dessus, vous ne pouvez pas affecter une valeur à :
users
users/jane-smith
Ceci est dû au fait que ces deux clés contiennent d'autres clés au niveau inférieur.
Pour créer une variable, utilisez Deployment Manager, Google Cloud CLI ou l'API.
Deployment Manager
Pour créer une variable dans Deployment Manager, spécifiez son type :
runtimeconfig.v1beta1.variable
Dans les propriétés de la variable, indiquez les valeurs name
, location
et value
:
- name: [NAME]
type: runtimeconfig.v1beta1.variable
properties:
parent: $(ref.[CONFIG_NAME].name)
variable: [VARIABLE_KEY]
[value | text]: [VARIABLE_VALUE]
où :
[NAME]
est le nom de ressource arbitraire pour cette variable. Il ne s'agit pas du nom de la variable elle-même.[CONFIG_NAME]
est la ressource Configuration pour cette requête.[VARIABLE_KEY]
est la clé de cette variable. Par exemple,status
etusers/jane-smith/favorite_color
constituent des clés valides. Les clés de variable peuvent contenir le caractère/
. Une clé de variable peut contenir des chiffres, des lettres, des tirets et des barres obliques. La longueur maximale d'un nom est de 256 caractères.[VARIABLE_VALUE]
est la valeur de cette variable. En fonction du format de valeur que vous souhaitez utiliser (texte brut ou chaîne encodée en base64), choisissez la propriétévalue
outext
:value
: si vous indiquez une valeur en tant que chaîne encodée en base64, utilisez la propriétévalue
.text
: si vous indiquez une chaîne en texte brut, utilisez la propriététext
. Il doit s'agir d'une chaîne UTF-8 valide.
gcloud
Pour créer une variable avec la Google Cloud CLI, utilisez la classe
Commande runtime-config configs variables set
:
gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
[VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]
où :
[VARIABLE_KEY]
est la clé de la variable. Par exemple,status
etusers/jane-smith/favorite_color
constituent des clés valides. Les clés de variable peuvent contenir le caractère/
. Une clé de variable peut contenir des chiffres, des lettres, des tirets et des barres obliques. La longueur maximale d'un nom est de 256 caractères.[VARIABLE_VALUE]
est la valeur de cette variable. Vous pouvez attribuer sous forme de texte brut ou encodée en base64 . Si vous renseignez une valeur en texte brut, spécifiez l'indicateur--is-text
. Sinon, la Google Cloud CLI encodera la valeur en base64.gcloud beta runtime-config configs variables set [VARIABLE_KEY] \ [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-text
Vous pouvez également fournir la valeur de la variable à partir d'un fichier. Exemple :
cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]
Remarque : Vous n'avez pas besoin d'encoder cette valeur, car
gcloud
effectue l'opération automatiquement.[CONFIG_NAME]
est le nom de la ressource RuntimeConfig dans laquelle cette variable doit être créée. Exemple :frontend-config
Exemple :
gcloud beta runtime-config configs variables set example-variable \ my-test-value --config-name example-config
La CLI gcloud renvoie une réponse semblable à celle-ci :
Created [https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]].
Par défaut, toutes les variables existantes sont discrètement écrasées. Si vous souhaitez conserver une variable existante, incluez l'indicateur --fail-if-present
, qui crée la variable si elle n'existe pas.
De même, vous pouvez également faire échouer la requête lorsque la variable est absente en fournissant l'indicateur --fail-if-absent
.
Pour en savoir plus sur cette commande gcloud
, consultez la documentation de référence sur runtime-config variables set
.
API
Dans l'API REST, envoyez une requête POST
à l'URI suivant pour créer une variable :
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables
où [PROJECT_ID]
est l'ID de projet pour cette requête. La charge utile de requête contient l'URI de la ressource RuntimeConfig, ainsi que la valeur en texte brut de la clé ou bien la valeur encodée en base64 :
{
"name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
où :
[PROJECT_ID]
est l'ID de projet de cette requête.[CONFIG_NAME]
est le nom de la configuration.[VARIABLE_KEY]
est la clé de la variable. Par exemple,status
etusers/jane-smith/favorite_color
. Les clés de variable peuvent contenir le caractère/
. Une clé de variable peut contenir des chiffres, des lettres, des tirets et des barres obliques. La longueur maximale d'un nom est de 256 caractères.[VARIABLE_VALUE]
est la valeur de cette variable. En fonction du format de valeur que vous souhaitez utiliser (texte brut ou chaîne encodée en base64), choisissez la propriétévalue
outext
:value
: si vous indiquez une valeur en tant que chaîne encodée en base64, utilisez la propriétévalue
.text
: si vous indiquez une chaîne en texte brut, utilisez la propriététext
. Il doit s'agir d'une chaîne UTF-8 valide.
Si l'opération réussit, l'API renvoie une réponse telle que :
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Pour en savoir plus sur la méthode, consultez la documentation sur
variables().create
.
Mettre à jour une variable
Deployment Manager
Pour mettre à jour une variable dans Deployment Manager :
Définissez ou mettez à jour vos propriétés de variable, comme décrit dans la section Créer une variable.
Suivez les étapes pour lancer la requête de mise à jour.
gcloud
Pour mettre à jour une variable, suivez le même processus que pour créer une variable.
API
Dans l'API REST, envoyez une requête PUT
à l'URI suivant pour mettre à jour une variable :
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
où :
[PROJECT_ID]
est l'ID de projet de cette requête.[CONFIG_NAME]
est le nom de la configuration.[VARIABLE_VALUE]
est la valeur de cette variable. Il s'agit d'une chaîne qui a été encodée en base64.
La charge utile de la requête doit être :
{
"[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}
où [VARIABLE_VALUE]
est la valeur de cette variable. En fonction du format de valeur que vous souhaitez utiliser (texte brut ou chaîne encodée en base64), choisissez la propriété value
ou text
:
value
: si vous indiquez une valeur en tant que chaîne encodée en base64, utilisez la propriétévalue
.text
: si vous indiquez une chaîne en texte brut, utilisez la propriététext
. Il doit s'agir d'une chaîne UTF-8 valide.
Si l'opération réussit, l'API renvoie une réponse telle que :
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "dGVhbA==", "updateTime": "2016-04-11T21:46:11.591713370Z", "state": "UPDATED" }
Pour en savoir plus sur la méthode, consultez la documentation sur variables().create
.
Obtenir la valeur d'une variable
Deployment Manager
Vous pouvez obtenir la valeur d'une variable à l'aide de l'une des méthodes suivantes :
gcloud
Pour créer une variable avec Google Cloud CLI, utilisez la commande runtime-config configs variables get-value
:
gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]
où :
[VARIABLE_KEY]
est la clé de la variable. Par exemple,status
,users/jane-smith/favorite_color
.[CONFIG_NAME]
est le nom de la ressource RuntimeConfig pour cette variable. Exemple :website
La CLI gcloud renvoie une réponse semblable à celle-ci :
example-value
Vous pouvez également obtenir la liste des variables pour lesquelles vous disposez de l'autorisation runtimeconfig.variables.get
ainsi que leurs valeurs en utilisant la commande list
et en fournissant l'indicateur --values
. Exemple :
gcloud beta runtime-config configs variables list --config-name example-config --values
La gcloud CLI renvoie une liste semblable à celle-ci:
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
Toutes les variables pour lesquelles vous ne disposez pas de l'autorisation get
seront omises. Cela inclut les variables pour lesquelles vous détenez l'autorisation list
, mais pas l'autorisation get
.
Pour en savoir plus sur cette commande gcloud
, consultez la documentation de référence sur runtime-config variables
.
API
Dans l'API REST, envoyez une requête GET
à l'URI suivant pour obtenir la valeur d'une variable :
https://runtimeconfig.googleapis.com/v1beta1/projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]
où :
[PROJECT_ID]
est l'ID de projet de cette requête.[CONFIG_NAME]
est le nom de la configuration.[VARIABLE_KEY]
est le nom de cette requête.
Si l'opération réussit, l'API renvoie une réponse comprenant la valeur de la variable encodée en base64 :
{ "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]", "value": "[VARIABLE_VALUE]", "updateTime": "2016-04-11T21:49:00.773366134Z" }
Vous devez décoder la valeur vous-même pour obtenir la chaîne. Pour en savoir plus sur la méthode, consultez la documentation sur variables().get
.
Si vous souhaitez obtenir la liste des variables pour lesquelles vous disposez de l'autorisation runtimeconfig.variables.get
et leurs valeurs, utilisez la méthode returnValues
. Exemple :
GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True
L'API renvoie toutes les variables pour lesquelles vous disposez de l'autorisation :
{
"variables": [
{
"name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
"updateTime": "2016-04-18T21:14:59.932428461Z",
"value": "b3Jhbmdl"
}
]
}
De même, vous devez décoder la valeur pour obtenir la chaîne.
Pour en savoir plus sur la méthode, consultez la documentation sur variables().list
.
Étape suivante
- En savoir plus sur Runtime Configurator
- Surveiller une variable spécifique
- Créer un service Waiter
- Créer et supprimer des ressources RuntimeConfig
- Consulter la documentation de référence sur v1beta1
- Consulter la section Quotas pour Runtime Configurator