Condividi tramite


Usare il tipo di contenuto per archiviare i valori di chiave JSON in Configurazione app

I dati vengono archiviati in Configurazione app come valori chiave, in cui i valori vengono considerati come tipo stringa per impostazione predefinita. Tuttavia, è possibile specificare un tipo personalizzato usando la proprietà del tipo di contenuto associata a ogni chiave-valore. Questo processo mantiene il tipo originale dei dati o rende l'applicazione diversa in base al tipo di contenuto.

Panoramica

In Configurazione app è possibile usare il tipo di supporto JSON come tipo di contenuto dei valori chiave per sfruttare i vantaggi seguenti:

  • Gestione dei dati più semplice: la gestione dei valori chiave, come le matrici, diventerà molto più semplice nel portale di Azure.
  • Esportazione avanzata dei dati: i tipi primitivi, le matrici e gli oggetti JSON verranno mantenuti durante l'esportazione dei dati.
  • Supporto nativo con provider di Configurazione app: i valori chiave con tipo di contenuto JSON funzionano correttamente quando vengono utilizzate dalle librerie del provider Configurazione app nelle applicazioni.

Tipo di contenuto JSON valido

I tipi di supporto, come definito qui, possono essere assegnati al tipo di contenuto associato a ogni chiave-valore. Un tipo di supporto è costituito da un tipo e da un sottotipo. Se il tipo è application e il sottotipo (o suffisso) è json, il tipo di supporto verrà considerato un tipo di contenuto JSON valido. Alcuni esempi di tipi di contenuto JSON validi sono:

  • application/json
  • application/activity+json
  • application/vnd.foobar+json;charset=utf-8

Valori JSON validi

Quando un valore chiave ha un tipo di contenuto JSON, il relativo valore deve essere in formato JSON valido per consentire ai client di elaborarlo correttamente. In caso contrario, i client potrebbero eseguire il failback o il fallback e considerarlo come formato stringa. Alcuni esempi di valori JSON validi sono:

  • "John Doe"
  • 723
  • false
  • null
  • "2020-01-01T12:34:56.789Z"
  • [1, 2, 3, 4]
  • {"ObjectSetting":{"Targeting":{"Default":true,"Level":"Information"}}}

Nota

Per il resto di questo articolo, qualsiasi valore chiave in Configurazione app con un tipo di contenuto JSON valido e un valore JSON valido verrà definito chiave-valore JSON.

Questa esercitazione illustra come:

  • Creare valori chiave JSON in Configurazione app.
  • Importare valori di chiave JSON da un file JSON.
  • Esportare i valori di chiave JSON in un file JSON.
  • Usare i valori di chiave JSON nelle applicazioni.

Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.

Prerequisiti

  • Archivio Configurazione app. Creare un archivio.
  • Questa esercitazione richiede la versione 2.10.0 o successiva dell'interfaccia della riga di comando di Azure. Se si usa Azure Cloud Shell, la versione più recente è già installata.

Creare valori chiave JSON in Configurazione app

I valori chiave JSON possono essere creati usando portale di Azure, l'interfaccia della riga di comando di Azure o importando da un file JSON. In questa sezione sono disponibili istruzioni sulla creazione degli stessi valori di chiave JSON usando tutti e tre i metodi.

Creare valori chiave JSON usando portale di Azure

Aggiungere i valori chiave seguenti all'archivio Configurazione app. Lasciare Etichetta con il valore predefinito. Per altre informazioni su come aggiungere valori chiave a un archivio usando il portale di Azure o l'interfaccia della riga di comando, vedere Creare un valore chiave.

Chiave valore Tipo di contenuto
Impostazioni:BackgroundColor "Verde" application/json
Impostazioni:FontSize 24 application/json
Impostazioni:UseDefaultRouting false application/json
Impostazioni:BlockedUsers Null application/json
Impostazioni:ReleaseDate "2020-08-04T12:34:56.789Z" application/json
Impostazioni:RolloutPercentage [25,50,75,100] application/json
Impostazioni:Registrazione {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} application/json
  1. Selezionare Applica.

Creare valori chiave JSON con l'interfaccia della riga di comando di Azure

I comandi seguenti creeranno valori di chiave JSON nell'archivio Configurazione app. Sostituire <appconfig_name> con il nome dell'archivio Configurazione app.

appConfigName=<appconfig_name>
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BackgroundColor --value \"Green\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:FontSize --value 24
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:UseDefaultRouting --value false
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:BlockedUsers --value null
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:ReleaseDate --value \"2020-08-04T12:34:56.789Z\"
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:RolloutPercentage --value [25,50,75,100]
az appconfig kv set -n $appConfigName --content-type application/json --key Settings:Logging --value {\"Test\":{\"Level\":\"Debug\"},\"Prod\":{\"Level\":\"Warning\"}}

Importante

Se si usa l'interfaccia della riga di comando di Azure o Azure Cloud Shell per creare valori chiave JSON, il valore specificato deve essere una stringa JSON con escape.

Importare valori chiave JSON da un file

Creare un file JSON denominato Import.json con il contenuto seguente e importarlo come valori chiave in Configurazione app:

{
  "Settings": {
    "BackgroundColor": "Green",
    "BlockedUsers": null,
    "FontSize": 24,
    "Logging": {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}},
    "ReleaseDate": "2020-08-04T12:34:56.789Z",
    "RolloutPercentage": [25,50,75,100],
    "UseDefaultRouting": false
  }
}
az appconfig kv import -s file --format json --path "~/Import.json" --content-type "application/json" --separator : --depth 2

Nota

L'argomento --depth viene usato per rendere flat i dati gerarchici da un file in valori chiave. In questa esercitazione viene specificata la profondità per dimostrare che è anche possibile archiviare oggetti JSON come valori in Configurazione app. Se la profondità non viene specificata, gli oggetti JSON verranno appiattiti al livello più profondo per impostazione predefinita.

I valori chiave JSON creati dovrebbero essere simili al seguente in Configurazione app:

Screenshot that shows the Config store containing JSON key-values.

Per verificarlo, aprire la risorsa Configurazione app nel portale di Azure e passare a Esplora configurazione.

Esportare valori chiave JSON in un file

Uno dei principali vantaggi dell'uso dei valori chiave JSON è la possibilità di mantenere il tipo di dati originale dei valori durante l'esportazione. Se un valore chiave in Configurazione app non ha un tipo di contenuto JSON, il relativo valore verrà considerato come stringa.

Considerare questi valori chiave senza tipo di contenuto JSON:

Chiave valore Tipo di contenuto
Impostazioni:FontSize 24
Impostazioni:UseDefaultRouting false

Quando si esportano questi valori di chiave in un file JSON, i valori verranno esportati come stringhe:

{
  "Settings": {
    "FontSize": "24",
    "UseDefaultRouting": "false"
  }
}

Tuttavia, quando si esportano valori chiave JSON in un file, tutti i valori manterranno il tipo di dati originale. Per verificare questo processo, esportare i valori chiave dal Configurazione app in un file JSON. Si noterà che il file esportato ha lo stesso contenuto del Import.json file importato in precedenza.

az appconfig kv export -d file --format json --path "~/Export.json" --separator :

Nota

Se l'archivio Configurazione app ha alcuni valori chiave senza tipo di contenuto JSON, verranno esportati anche nello stesso file in formato stringa.

Utilizzo di valori chiave JSON nelle applicazioni

Il modo più semplice per usare i valori chiave JSON nell'applicazione consiste nell'usare Configurazione app librerie del provider. Con le librerie del provider, non è necessario implementare una gestione speciale dei valori chiave JSON nell'applicazione. Verranno analizzati e convertiti in modo che corrispondano alla configurazione nativa dell'applicazione.

Ad esempio, se si dispone del valore chiave seguente in Configurazione app:

Chiave valore Tipo di contenuto
Impostazione {"FontSize":24,"UseDefaultRouting":false} application/json

La configurazione dell'applicazione .NET avrà i valori chiave seguenti:

Chiave valore
Impostazioni:FontSize 24
Impostazioni:UseDefaultRouting false

È possibile accedere direttamente alle nuove chiavi oppure scegliere di associare i valori di configurazione alle istanze di oggetti .NET.

Importante

Il supporto nativo per i valori chiave JSON è disponibile nel provider di configurazione .NET versione 4.0.0 (o successiva). Per altre informazioni, vedere la sezione Passaggi successivi.

Se si usa l'SDK o l'API REST per leggere i valori di chiave da Configurazione app, in base al tipo di contenuto, l'applicazione è responsabile dell'analisi del valore di una chiave JSON.

Pulire le risorse

Se non si vuole continuare a usare le risorse create in questo articolo, eliminare il gruppo di risorse creato qui per evitare addebiti.

Importante

L'eliminazione di un gruppo di risorse è irreversibile. Il gruppo di risorse e tutte le risorse in esso contenute vengono eliminati in modo permanente. Assicurarsi di non eliminare accidentalmente il gruppo di risorse o le risorse sbagliate. Se le risorse per questo articolo sono state create in un gruppo di risorse che contiene altre risorse che si vogliono mantenere, eliminare ogni risorsa singolarmente dal rispettivo riquadro anziché eliminare il gruppo di risorse.

  1. Accedere al portale di Azure e selezionare Gruppi di risorse.
  2. Nella casella Filtra per nome immettere il nome del gruppo di risorse.
  3. Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
  4. Selezionare Elimina gruppo di risorse.
  5. Verrà chiesto di confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.

Dopo qualche istante, il gruppo di risorse e tutte le risorse che contiene vengono eliminati.

Passaggi successivi

Ora che si è appreso come usare i valori chiave JSON nell'archivio Configurazione app, creare un'applicazione per l'utilizzo di questi valori di chiave: