Impostazione e recupero dei dati

Questa pagina spiega come impostare, recuperare e aggiornare le variabili utilizzando il configuratore di runtime. 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 osservatore o un coordinatore.

Per saperne di più sulle variabili e sul servizio Runtime Configurator, consulta Concetti fondamentali di Runtime Configurator documentazione.

Per scoprire come creare una risorsa RuntimeConfig, consulta Creazione ed eliminazione delle risorse RuntimeConfig.

Prima di iniziare

Creazione di una variabile

Una variabile è una coppia chiave-valore. Una chiave variabile può essere piatta gerarchico. Ad esempio, tutte le seguenti chiavi sono valide:

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

Solo le chiavi dei nodi foglia possono avere valori. Nell'esempio precedente, non puoi assegna un valore a:

  • users
  • users/jane-smith

Questo perché entrambe 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, specifica il tipo di variabile:

runtimeconfig.v1beta1.variable

Nelle proprietà della variabile, fornisci 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 e users/jane-smith/favorite_color sono chiavi valide. Le chiavi delle variabili possono contenere /. Una chiave di variabile può contenere cifre, lettere, trattini e barre; la lunghezza massima di un nome è 256 caratteri.
  • [VARIABLE_VALUE] è il valore di questa variabile. A seconda che tu voglia assegnare un valore come testo normale o come stringa codificata in base 64, scegli la proprietà value o text:
    • value: se fornisci un valore come stringa con codifica base64, utilizza la proprietà value.
    • text: se fornisci una stringa di testo non crittografato, utilizza la proprietà text. La stringa deve contenere un formato UTF-8 valido.

gcloud

Per creare una variabile con Google Cloud CLI, utilizza la classe 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 e users/jane-smith/favorite_color sono chiavi valide. Le chiavi variabili possono contiene /. Una chiave variabile può contenere dig, lettere, trattini e barre e la lunghezza massima di un nome è 256 caratteri.
  • [VARIABLE_VALUE] è il valore di questa variabile. Puoi assegnare un valore come testo normale o come stringa codificata in base64. Se specifichi un valore in testo non crittografato, fornisci il flag --is-text; altrimenti Google Cloud CLI codificherà il valore in 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 per te.

  • [CONFIG_NAME] è il nome della risorsa RuntimeConfig in cui deve essere creata. 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 come:

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 --fail-if-present, che crea la nuova variabile in caso contrario esistono.

Analogamente, puoi anche non soddisfare la richiesta se la variabile è assente fornendo il flag --fail-if-absent.

Per la documentazione di riferimento completa di questo comando gcloud, consulta la documentazione di riferimento di runtime-config variables set.

API

Nell'API REST, invia 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 normale 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 e users/jane-smith/favorite_color. Le chiavi variabili possono contenere /. Una chiave della variabile può contenere cifre, lettere, trattini e barre; la lunghezza massima di un nome è 256 caratteri.
  • [VARIABLE_VALUE] è il valore di questa variabile. A seconda che vuoi assegnare un valore come testo non crittografato o come valore codificato Base64 scegli la proprietà value o text:

    • value: se fornisci un valore come stringa con codifica base64, utilizza la proprietà value.
    • text: se fornisci una stringa di testo normale, utilizza la proprietà text. La stringa deve essere UTF-8 valida.

    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, leggi l'articolo variables().create documentazione.

Aggiornamento di una variabile

Deployment Manager

Per aggiornare una variabile in Deployment Manager:

  1. Definisci o aggiorna le proprietà delle variabili come descritto in Creare una variabile.

  2. Segui i passaggi per effettuare la richiesta di aggiornamento.

gcloud

Aggiorna una variabile utilizzando la stessa procedura per crearla.

API

Nell'API REST, invia 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. Si tratta di una stringa 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 di questa variabile. A seconda che per 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, usa la proprietà value.
  • text: se fornisci una stringa di testo non crittografato, utilizza la proprietà text. La deve essere un formato UTF-8 valido.

In caso di esito positivo, l'API restituisce una risposta come:

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

Per scoprire di più sul metodo, consulta la documentazione di variables().create.

Recupero del 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 la classe 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 questo . Ad esempio, website.

    gcloud CLI restituisce una risposta come:

    example-value

Puoi anche ottenere un elenco di variabili di cui Autorizzazione runtimeconfig.variables.get e i relativi valori utilizzando il comando list e fornendo il valore --values flag. Ad esempio:

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

gcloud CLI restituisce un elenco come questo:

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

Le eventuali 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 le runtime-config variables documentazione di riferimento.

API

Nell'API REST, effettua una richiesta GET al seguente URI per ottenere un valore della 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.

Se l'operazione ha 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"
}

Devi decodificare il valore per ottenere la stringa. Per scoprire di più su il metodo, leggi l'articolo variables().get documentazione.

Se vuoi ottenere un elenco di variabili per le quali disponi dell'autorizzazione runtimeconfig.variables.get e dei 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"
    }
  ]
}

Analogamente, devi decodificare il valore per ottenere la stringa.

Per scoprire di più su il metodo, leggi l'articolo variables().list documentazione.

Passaggi successivi