Daten festlegen und abrufen

Auf dieser Seite wird erklärt, wie Sie mit Runtime Configurator Variablen festlegen, abrufen 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. Wenn 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.

Hinweise

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 untergeordnete Schlüssel haben.

Verwenden Sie Deployment Manager, die Google Cloud CLI 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 Attributen 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. Es 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. Beispiel: status und users/jane-smith/favorite_color sind gültige Schlüssel. Variablenschlüssel können das Zeichen / enthalten. 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 Klartext oder als Base64-codierten String zuweisen möchten, wählen Sie entweder das Attribut value oder text aus:
    • value: Wenn Sie einen Wert als Base64-codierten String angeben, verwenden Sie das Attribut value.
    • text: Wenn Sie einen String im Klartextformat angeben, verwenden Sie das Attribut text. Der String muss UTF-8-gültig sein.

gcloud

Verwenden Sie den Befehl runtime-config configs variables set, um eine Variable mit der Google Cloud CLI 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. Beispiel: status und users/jane-smith/favorite_color sind gültige Schlüssel. Variablenschlüssel können das Zeichen / enthalten. Ein Variablenschlüssel kann Ziffern, Buchstaben, Bindestriche und Schrägstriche enthalten. Die maximale Länge für einen Namen beträgt 256 Zeichen.
  • [VARIABLE_VALUE] ist der Wert dieser Variable. Sie können einen Wert als Klartext oder als Base64-codierten String zuweisen. Wenn Sie einen Klartextwert angeben, geben Sie das Flag --is-text an. Andernfalls codiert die Google Cloud CLI den Wert in base64.

    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. gcloud übernimmt die Codierung für Sie.

  • [CONFIG_NAME] ist der Name der RuntimeConfig-Ressource, für die die Variable erstellt werden soll, Beispiel: frontend-config.

    Beispiel:

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

    Die gcloud CLI gibt eine Antwort wie die folgende 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 vorhandene Variable beibehalten möchten, fügen Sie das Flag --fail-if-present ein. Damit wird die neue Variable erstellt, wenn sie nicht bereits existiert.

Sie können auch festlegen, dass die Anfrage fehlerhaft ist, wenn die Variable nicht vorhanden ist. Geben Sie dazu das Flag --fail-if-absent an.

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

API

Stellen Sie in der API eine POST-Anfrage an den folgenden URI, um eine neue Variable zu erstellen.

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

Hierbei ist [PROJECT_ID] die Projekt-ID für diese Anfrage. Die Anfragenutzlast enthält den URI zur RuntimeConfig-Ressource und entweder den Klartextwert des Schlüssels oder den base64-codierten 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. Beispiel: status und users/jane-smith/favorite_color. Variablenschlüssel können das Zeichen / enthalten. Ein Variablenschlüssel kann Ziffern, Buchstaben, Bindestriche und Schrägstriche enthalten. Die maximale Länge für einen Namen beträgt 256 Zeichen.
  • [VARIABLE_VALUE] ist der Wert für diese Variable. Je nachdem, ob Sie einen Wert als Klartext oder als Base64-codierten String zuweisen möchten, wählen Sie entweder das Attribut value oder text aus:

    • value: Wenn Sie einen Wert als Base64-codierten String angeben, verwenden Sie das Attribut value.
    • text: Wenn Sie einen String im Klartextformat angeben, verwenden Sie das Attribut 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 zur 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 Variablenattribute wie in Variable erstellen erläutert.

  2. Folgen Sie den Schritten zum Stellen der Aktualisierungsanfrage.

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-codierter String.

Die Nutzlast der Anfrage muss so aussehen:

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

Dabei ist [VARIABLE_VALUE] der Wert für diese Variable. Je nachdem, ob Sie einen Wert als Klartext oder als Base64-codierten String zuweisen möchten, wählen Sie entweder das Attribut value oder text aus:

  • value: Wenn Sie einen Wert als Base64-codierten String angeben, verwenden Sie das Attribut value.
  • text: Wenn Sie einen String im Klartextformat angeben, verwenden Sie das Attribut text. Der String muss UTF-8-codiert 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 zur Methode finden Sie in der variables().create-Dokumentation.

Wert einer Variable abrufen

Deployment Manager

Den Wert einer Variablen können Sie mit einer der folgenden Methoden abrufen:

gcloud

Verwenden Sie den Befehl runtime-config configs variables get-value, um eine Variable mit der Google Cloud CLI 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. Beispiel: status, users/jane-smith/favorite_color.
  • [CONFIG_NAME] ist der Name der RuntimeConfig-Ressource für diese Variable, Beispiel: website.

    Die gcloud CLI gibt eine Antwort wie die folgende zurück:

    example-value

Mit dem Befehl list und dem Flag --values können Sie außerdem eine Liste von Variablen abrufen, für die Sie eine runtimeconfig.variables.get-Berechtigung besitzen und deren Werte Sie haben. Beispiel:

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

Die gcloud CLI 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

Variablen, für die Sie keine get-Berechtigung haben, werden ausgelassen. Dazu gehören auch Variablen, für die Sie zwar eine list-Berechtigung, aber keine get-Berechtigung haben.

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 Variablen 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 erfolgreicher Ausführung 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 decodieren, um den String zu erhalten. Weitere Informationen zur Methode erhalten Sie in der Dokumentation zu variables().get.

Wenn Sie eine Liste von Variablen abrufen möchten, für die Sie eine runtimeconfig.variables.get-Berechtigung besitzen und deren Werte Sie haben, verwenden Sie die Methode returnValues. 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 zur Methode erhalten Sie in der Dokumentation zu variables().list.

Nächste Schritte