Daten festlegen und abrufen

Auf dieser Seite wird erläutert, wie Variablen mit dem Laufzeitkonfigurator festgelegt, abgerufen und aktualisiert werden. 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 von Runtime Configurator.

Wie Sie eine RuntimeConfig-Ressource erstellen, erfahren Sie unter RuntimeConfig-Ressourcen erstellen und löschen.

Hinweise

Variable erstellen

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

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

Nur Blattknotenschlüssel können Werte haben. Im obigen Beispiel können Sie keinen Wert zuweisen:

  • users
  • users/jane-smith

Das liegt daran, dass diese Schlüssel untergeordnete Schlüssel haben.

Wenn Sie eine Variable erstellen möchten, verwenden Sie Deployment Manager, das gcloud-Befehlszeilentool oder die API.

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]
    

wobei

  • [NAME] ist der beliebige Ressourcenname dieser Variable. Dies ist nicht der Name der Variablen 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 mit dem gcloud-Befehlszeilentool eine Variable zu erstellen:

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

wobei

  • [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 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 Klartext oder als base64-codierten String zuweisen. Wenn Sie einen Klartextwert angeben, geben Sie das Flag --is-text an. Andernfalls wird der Wert vom gcloud-Befehlszeilentool Base64-codiert.

    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 einer RuntimeConfig-Ressource, in der 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
        

    Das gcloud-Tool 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.

Eine 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
    

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 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
    }
    

wobei

  • [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 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.

    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 erhalten Sie in der Dokumentation zu variables().create.

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]
    

wobei

  • [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 eine gültige UTF-8-Codierung 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 erhalten Sie in der Dokumentation zu variables().create.

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 mit dem gcloud-Befehlszeilentool eine Variable zu erstellen:

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

wobei

  • [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

    Das gcloud-Tool 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
    

Das gcloud-Tool gibt eine Liste wie die folgende 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 Variable zu erhalten:

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

wobei

  • [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"
    }

Für den String müssen Sie den Wert selbst decodieren. 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