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
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- 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 |
- 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:
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.
- Accedere al portale di Azure e selezionare Gruppi di risorse.
- Nella casella Filtra per nome immettere il nome del gruppo di risorse.
- Nell'elenco dei risultati selezionare il nome del gruppo di risorse per visualizzare una panoramica.
- Selezionare Elimina gruppo di risorse.
- 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: