Daten festlegen und abrufen

Auf dieser Seite wird erklärt, wie Sie mit Runtime Configurator Variablen festlegen, beziehen und aktualisieren. Variablen sind Schlüssel/Wert-Paare, die zu einer RuntimeConfig-Ressource gehören. Jedes Schlüssel/Wert-Paar beinhaltet Daten, die Sie definieren. Nachdem Sie eine Variable erstellt haben, können Sie einen Watcher oder Waiter für sie festlegen.

Weitere Informationen über Variablen und den Runtime Configurator-Dienst erhalten Sie unter Grundlagen des Runtime Configurators.

Wie Sie eine RuntimeConfig-Ressource erstellen, erfahren Sie unter Erstellen und Löschen von RuntimeConfig-Ressourcen.

Vorbereitung

Variable erstellen

Eine Variable ist ein Schlüssel/Wert-Paar. Ein Variablenschlüssel kann flach oder hierarchisch sein. Beispielsweise sind alle folgenden Schlüssel gültig:

  • status
  • users/jane-smith/favorite-color
  • users/total

Nur Blatt-Knoten-Schlüssel können Werte haben. In dem Beispiel oben können Sie folgenden Variablen keine Werte zuweisen:

  • users
  • users/jane_smith

Das liegt daran, dass diese Schlüssel andere Schlüssel unter ihnen enthalten.

Verwenden Sie Deployment Manager, das Befehlszeilentool gcloud oder die API, um eine Variable zu erstellen.

Deployment Manager

Legen Sie den Variablentyp fest, wenn Sie eine Variable in Deployment Manager erstellen:

runtimeconfig.v1beta1.variable

Geben Sie in den Properties der Variable name, location und value der Variable an:

- name: [NAME]
  type: runtimeconfig.v1beta1.variable
  properties:
    parent: $(ref.[CONFIG_NAME].name)
    variable: [VARIABLE_KEY]
    [value | text]: [VARIABLE_VALUE]

Dabei gilt:

  • [NAME] ist der beliebige Ressourcenname dieser Variable. Dies ist nicht der Name der Variable selbst.
  • [CONFIG_NAME] ist die Config-Ressource für diese Anfrage.
  • [VARIABLE_KEY] ist der Schlüssel dieser Variable. Zum Beispiel sind status und users/jane-smith/favorite_color gültige Schlüssel. Variablenschlüssel können / beinhalten. Ein Variablenschlüssel kann Ziffern, Buchstaben, Bindestriche und Schrägstriche beinhalten. Die maximale Länge für einen Namen liegt bei 256 Zeichen.
  • [VARIABLE_VALUE] ist der Wert für diese Variable. Je nachdem, ob Sie einen Wert als Nur-Text oder als Base64-codierten String angeben wollen, wählen Sie entweder die Eigenschaft value oder text.
    • value: Falls Sie einen Wert als Base64-codierten String angeben, verwenden Sie die Eigenschaft value.
    • text: Falls Sie einen Nur-Text-String angeben, verwenden Sie die Eigenschaft text. Der String muss UTF-8-gültig sein.

gcloud

Verwenden Sie den Befehl runtime-config configs variables set, um im Befehlszeilentool gcloud eine Variable zu erstellen:

gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
    [VARIABLE_VALUE] --config-name [CONFIG_NAME] [--is-text]

Dabei gilt:

  • [VARIABLE_KEY] ist der Schlüssel der Variable. Zum Beispiel sind status und users/jane-smith/favorite_color gültige Schlüssel. Variablenschlüssel können / beinhalten. Ein Variablenschlüssel kann Ziffern, Buchstaben, Bindestriche und Schrägstriche beinhalten. Die maximale Länge für einen Namen liegt bei 256 Zeichen.
  • [VARIABLE_VALUE] ist der Wert dieser Variable. Sie können einen Wert als Nur-Text oder als base64-kodierten String zuweisen. Falls Sie einen Nur-Text-Wert festlegen, geben Sie das --is-text-Flag an, sonst wird das Befehlszeilentool gcloud den Wert in base64 kodieren.

    gcloud beta runtime-config configs variables set [VARIABLE_KEY] \
          [VARIABLE_VALUE] --config-name [CONFIG_NAME] --is-text
    

    Sie können den Wert der Variable auch durch eine Datei angeben. Beispiel:

    cat [FILE_NAME] | gcloud beta runtime-config configs variables set [VARIABLE_KEY] --config-name [CONFIG_NAME]
    

    Hinweis: Sie müssen diesen Wert nicht codieren, da gcloud die Codierung für Sie vornimmt.

  • [CONFIG_NAME] ist der Name einer RuntimeConfig-Ressource, in der die Variable erstellt werden soll, Zum Beispiel frontend-config.

Beispiel:

gcloud beta runtime-config configs variables set example-variable \
    my-test-value --config-name example-config

Das gcloud-Tool gibt eine Antwort wie diese zurück:

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

Standardmäßig werden alle bestehenden Variablen überschrieben. Wenn Sie eine bestehende Variable sichern wollen, geben Sie auch das --fail-if-present-Flag an, welches eine neue Variable erstellt, wenn sie nicht vorhanden ist.

Ähnlich können Sie auch die Anfrage der abwesenden Variable fehlschlagen lassen, indem Sie das --fail-if-absent-Flag angeben.

Eine vollständige Referenz zu diesem gcloud-Befehl finden Sie in der runtime-config variables set-Referenzdokumentation.

API

Stellen Sie in der API einen POST-Request an die folgende URL, um eine neue Variable zu erstellen.

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

Dabei ist [PROJECT_ID] die Projekt-ID für diese Anfrage. Die Nutzlast der Anfrage enthält den URI zu der RuntimeConfig-Ressource und entweder den Nur-Text-Wert des Schlüssels oder den base64-kodierten Wert:

{
   "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]"
   "[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}

Dabei gilt:

  • [PROJECT_ID] ist die Projekt-ID für diese Anfrage.
  • [CONFIG_NAME] ist der Name dieser Konfiguration.
  • [VARIABLE_KEY] ist der Schlüssel der Variable. Beispielsweise status und users/jane-smith/favorite_color. Variablenschlüssel können / beinhalten. Ein Variablenschlüssel kann Ziffern, Buchstaben, Bindestriche und Schrägstriche beinhalten. Die maximale Länge für einen Namen liegt bei 256 Zeichen.
  • [VARIABLE_VALUE] ist der Wert für diese Variable. Je nachdem, ob Sie einen Wert als Nur-Text oder als Base64-codierten String angeben wollen, wählen Sie entweder die Eigenschaft value oder text.
    • value: Falls Sie einen Wert als Base64-codierten String angeben, verwenden Sie die Eigenschaft value.
    • text: Falls Sie einen Nur-Text-String angeben, verwenden Sie die Eigenschaft text. Der String muss UTF-8-gültig sein.

Bei Erfolg gibt die API eine leere Antwort wie diese zurück:

{
    "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]",
    "value": "dGVhbA==",
    "updateTime": "2016-04-11T21:49:00.773366134Z"
 }

Weitere Informationen zu der Methode finden Sie in der variables().create-Dokumentation.

Variable aktualisieren

Deployment Manager

So aktualisieren Sie eine Variable in Deployment Manager:

  1. Definieren oder aktualisieren Sie Ihre Variablen-Properties, wie in Eine Variable erstellen beschrieben.

  2. Folgen Sie den Schritten, um die Aktualisierungsanfrage zu stellen.

gcloud

Aktualisieren Sie eine Variable so, wie Sie eine Variable erstellen.

API

Stellen Sie in der REST API eine PUT-Anfrage an den folgenden URI, um eine Variable zu aktualisieren:

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

Dabei gilt:

  • [PROJECT_ID] ist die Projekt-ID für diese Anfrage.
  • [CONFIG_NAME] ist der Name dieser Konfiguration.
  • [VARIABLE_VALUE] ist der Wert für diese Variable. Dies ist ein base64-kodierter String.

Die Nutzlast der Anfrage muss so aussehen:

{
   "[value | text]": "[VARIABLE_VALUE]" # Choose either 'value' or 'text' but not both
}

wobei [VARIABLE_VALUE] der Wert für diese Variable ist. Je nachdem, ob Sie einen Wert als Nur-Text oder als Base64-kodierten String zuweisen wollen, wählen Sie entweder die Eigenschaft value oder text.

  • value: Falls Sie einen Wert als Base64-codierten String angeben, verwenden Sie die Eigenschaft value.
  • text: Falls Sie einen Nur-Text-String angeben, verwenden Sie die Eigenschaft text. Der String muss UTF-8-gültig sein.

Bei Erfolg gibt die API eine leere Antwort wie diese zurück:

{
    "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]",
    "value": "dGVhbA==",
    "updateTime": "2016-04-11T21:46:11.591713370Z",
    "state": "UPDATED"
}

Weitere Informationen zu der Methode finden Sie in der variables().create-Dokumentation.

Wert einer Variable abrufen

Deployment Manager

Den Wert einer Variable rufen Sie mit einer der folgenden Methoden ab:

gcloud

Verwenden Sie den Befehl runtime-config configs variables get-value, um eine Variable mit dem Befehlszeilentool gcloud zu erstellen:

gcloud beta runtime-config configs variables get-value [VARIABLE_KEY] --config-name [CONFIG_NAME]

Dabei gilt:

  • [VARIABLE_KEY] ist der Schlüssel der Variable. Beispielsweise status, users/jane-smith/favorite_color.
  • [CONFIG_NAME] ist der Name der RuntimeConfig-Ressource für diese Variable. Beispielsweise website.

Das gcloud-Tool gibt eine Antwort wie diese zurück:

example-value

Sie können auch eine Liste der Variablen, für die Sie die runtimeconfig.variables.get-Berechtigung haben, und ihrer Werte erhalten, indem Sie den Befehl list und das Flag --values verwenden. Beispiel:

gcloud beta runtime-config configs variables list --config-name example-config --values

Das gcloud-Tool gibt eine Liste wie diese zurück:

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

Alle Variablen, für die Sie keine get-Berechtigung haben, werden weggelassen. Dazu gehören auch Variablen, für die Sie die list-Berechtigung haben, nicht jedoch die get-Berechtigung.

Eine vollständige Referenz zu diesem gcloud-Befehl finden Sie in der runtime-config variables-Referenzdokumentation.

API

Stellen Sie in der REST API eine GET-Anfrage an den folgenden URI, um den Wert einer Variable zu erhalten:

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

Dabei gilt:

  • [PROJECT_ID] ist die Projekt-ID für diese Anfrage.
  • [CONFIG_NAME] ist der Name dieser Konfiguration.
  • [VARIABLE_KEY] ist der Name für diese Anfrage.

Bei Erfolg gibt die API eine Antwort mit dem base64-codierten Wert der Variable zurück:

{
    "name": "projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_KEY]",
    "value": "[VARIABLE_VALUE]",
    "updateTime": "2016-04-11T21:49:00.773366134Z"
}

Sie müssen selbst den Wert dekodieren, um den String zu erhalten. Weitere Informationen zu der Methode finden Sie in der variables().get-Dokumentation.

Sie können auch eine Liste der Variablen, für die Sie die runtimeconfig.variables.get-Berechtigung haben, und ihrer Werte erhalten, indem Sie die Methode returnValues aufrufen. Beispiel:

GET uri: https://runtimeconfig.googleapis.com/v1beta1/projects/myproject/configs/example-config/variables?returnValues=True

Die API gibt alle Variablen zurück, für die Sie Berechtigungen haben:

{
  "variables": [
    {
      "name": "projects/compute-writers-project/configs/example-config/variables/not-my-favorite-color/shade",
      "updateTime": "2016-04-18T21:14:59.932428461Z",
      "value": "b3Jhbmdl"
    }
  ]
}

Sie müssen den Wert selbst decodieren, um den String zu erhalten.

Weitere Informationen zu der Methode finden Sie in der variables().list-Dokumentation.

Nächste Schritte

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Cloud Deployment Manager-Dokumentation