Inhoudstype gebruiken om JSON-sleutelwaarden op te slaan in App Configuration
Gegevens worden in App Configuration opgeslagen als sleutelwaarden, waarbij waarden standaard worden behandeld als het tekenreekstype. U kunt echter een aangepast type opgeven met behulp van de inhoudstypeeigenschap die aan elke sleutelwaarde is gekoppeld. Dit proces behoudt het oorspronkelijke type van uw gegevens of zorgt ervoor dat uw toepassing zich anders gedraagt op basis van het inhoudstype.
Overzicht
In App Configuration kunt u het JSON-mediatype gebruiken als het inhoudstype van uw sleutelwaarden om gebruik te maken van de volgende voordelen:
- Eenvoudiger gegevensbeheer: het beheren van sleutelwaarden, zoals matrices, wordt veel eenvoudiger in Azure Portal.
- Verbeterde gegevensexport: Primitieve typen, matrices en JSON-objecten blijven behouden tijdens het exporteren van gegevens.
- Systeemeigen ondersteuning bij App Configuration-provider: sleutelwaarden met JSON-inhoudstype werken prima wanneer ze worden gebruikt door App Configuration-providerbibliotheken in uw toepassingen.
Geldig JSON-inhoudstype
Mediatypen, zoals hier gedefinieerd, kunnen worden toegewezen aan het inhoudstype dat aan elke sleutelwaarde is gekoppeld.
Een mediatype bestaat uit een type en een subtype. Als het type is application
en het subtype (of achtervoegsel), json
wordt het mediatype beschouwd als een geldig JSON-inhoudstype.
Enkele voorbeelden van geldige JSON-inhoudstypen zijn:
application/json
application/activity+json
application/vnd.foobar+json;charset=utf-8
Geldige JSON-waarden
Wanneer een sleutelwaarde een JSON-inhoudstype heeft, moet de waarde ervan een geldige JSON-indeling hebben, zodat clients deze correct kunnen verwerken. Anders kunnen clients mislukken of terugvallen en deze behandelen als tekenreeksindeling. Enkele voorbeelden van geldige JSON-waarden zijn:
"John Doe"
723
false
null
"2020-01-01T12:34:56.789Z"
[1, 2, 3, 4]
{"ObjectSetting":{"Targeting":{"Default":true,"Level":"Information"}}}
Notitie
Voor de rest van dit artikel wordt elke sleutelwaarde in App Configuration met een geldig JSON-inhoudstype en een geldige JSON-waarde aangeduid als JSON-sleutelwaarde.
In deze zelfstudie leert u het volgende:
- JSON-sleutelwaarden maken in App Configuration.
- JSON-sleutelwaarden importeren uit een JSON-bestand.
- JSON-sleutelwaarden exporteren naar een JSON-bestand.
- Gebruik JSON-sleutelwaarden in uw toepassingen.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Een App Configuration-archief. Een winkel maken.
- Voor deze zelfstudie is versie 2.10.0 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
JSON-sleutelwaarden maken in App Configuration
JSON-sleutelwaarden kunnen worden gemaakt met behulp van Azure Portal, Azure CLI of door een JSON-bestand te importeren. In deze sectie vindt u instructies voor het maken van dezelfde JSON-sleutelwaarden met behulp van alle drie de methoden.
JSON-sleutelwaarden maken met behulp van Azure Portal
Voeg de volgende sleutelwaarden toe aan het App Configuration-archief. Laat Label met de standaardwaarde staan. Ga naar Een sleutelwaarde maken voor meer informatie over het toevoegen van sleutelwaarden aan een archief met behulp van Azure Portal of de CLI.
Sleutel | Weergegeven als | Inhoudstype |
---|---|---|
Instellingen:BackgroundColor | "Groen" | application/json |
Instellingen:Lettertype aanpassen | 24 | application/json |
Instellingen:UseDefaultRouting | Valse | application/json |
Instellingen:BlockedUsers | null | application/json |
Instellingen:ReleaseDate | "2020-08-04T12:34:56.789Z" | application/json |
Instellingen:RolloutPercentage | [25,50,75,100] | application/json |
Instellingen:Logboekregistratie | {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} | application/json |
- Selecteer Toepassen.
JSON-sleutelwaarden maken met behulp van Azure CLI
Met de volgende opdrachten worden JSON-sleutelwaarden gemaakt in uw App Configuration-archief. Vervang door <appconfig_name>
de naam van uw App Configuration-archief.
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\"}}
Belangrijk
Als u Azure CLI of Azure Cloud Shell gebruikt om JSON-sleutelwaarden te maken, moet de opgegeven waarde een escape-JSON-tekenreeks zijn.
JSON-sleutelwaarden importeren uit een bestand
Maak een JSON-bestand Import.json
met de volgende inhoud en importeer het als sleutelwaarden in App Configuration:
{
"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
Notitie
Het --depth
argument wordt gebruikt voor het platmaken van hiërarchische gegevens uit een bestand in sleutelwaarden. In deze zelfstudie wordt diepte opgegeven om aan te tonen dat u JSON-objecten ook kunt opslaan als waarden in App Configuration. Als de diepte niet is opgegeven, worden JSON-objecten standaard afgevlakt tot het laagste niveau.
De JSON-sleutelwaarden die u hebt gemaakt, moeten er als volgt uitzien in App Configuration:
Als u dit wilt controleren, opent u uw App Configuration-resource in Azure Portal en gaat u naar Configuration Explorer.
JSON-sleutelwaarden exporteren naar een bestand
Een van de belangrijkste voordelen van het gebruik van JSON-sleutelwaarden is de mogelijkheid om het oorspronkelijke gegevenstype van uw waarden te behouden tijdens het exporteren. Als een sleutelwaarde in App Configuration geen JSON-inhoudstype heeft, wordt de waarde als een tekenreeks behandeld.
Houd rekening met deze sleutelwaarden zonder JSON-inhoudstype:
Sleutel | Weergegeven als | Inhoudstype |
---|---|---|
Instellingen:Lettertype aanpassen | 24 | |
Instellingen:UseDefaultRouting | false |
Wanneer u deze sleutelwaarden naar een JSON-bestand exporteert, worden de waarden geëxporteerd als tekenreeksen:
{
"Settings": {
"FontSize": "24",
"UseDefaultRouting": "false"
}
}
Wanneer u echter JSON-sleutelwaarden naar een bestand exporteert, behouden alle waarden het oorspronkelijke gegevenstype. Als u dit proces wilt controleren, exporteert u sleutelwaarden uit uw App Configuration naar een JSON-bestand. U ziet dat het geëxporteerde bestand dezelfde inhoud heeft als het Import.json
bestand dat u eerder hebt geïmporteerd.
az appconfig kv export -d file --format json --path "~/Export.json" --separator :
Notitie
Als uw App Configuration-archief een aantal sleutelwaarden zonder JSON-inhoudstype heeft, worden ze ook geëxporteerd naar hetzelfde bestand in tekenreeksindeling.
JSON-sleutelwaarden gebruiken in toepassingen
De eenvoudigste manier om JSON-sleutelwaarden in uw toepassing te gebruiken, is via App Configuration-providerbibliotheken. Met de providerbibliotheken hoeft u geen speciale verwerking van JSON-sleutelwaarden in uw toepassing te implementeren. Ze worden geparseerd en geconverteerd zodat deze overeenkomen met de systeemeigen configuratie van uw toepassing.
Als u bijvoorbeeld de volgende sleutelwaarde in App Configuration hebt:
Sleutel | Weergegeven als | Inhoudstype |
---|---|---|
Instellingen | {"FontSize":24,"UseDefaultRouting":false} | application/json |
De configuratie van uw .NET-toepassing heeft de volgende sleutelwaarden:
Sleutel | Weergegeven als |
---|---|
Instellingen:Lettertype aanpassen | 24 |
Instellingen:UseDefaultRouting | false |
U hebt rechtstreeks toegang tot de nieuwe sleutels of u kunt ervoor kiezen om configuratiewaarden te binden aan exemplaren van .NET-objecten.
Belangrijk
Systeemeigen ondersteuning voor JSON-sleutelwaarden is beschikbaar in .NET-configuratieprovider versie 4.0.0 (of hoger). Ga voor meer informatie naar de sectie Volgende stappen .
Als u de SDK of REST API gebruikt om sleutelwaarden te lezen uit App Configuration, op basis van het inhoudstype, is uw toepassing verantwoordelijk voor het parseren van de waarde van een JSON-sleutelwaarde.
Resources opschonen
Als u de resources die in dit artikel zijn gemaakt niet wilt blijven gebruiken, verwijdert u de resourcegroep die u hier hebt gemaakt om kosten te voorkomen.
Belangrijk
Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of resources verwijdert. Als u de resources voor dit artikel in een resourcegroep hebt gemaakt die andere resources bevat die u wilt behouden, moet u elke resource afzonderlijk verwijderen uit het deelvenster in plaats van dat u de resourcegroep verwijdert.
- Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
- Voer de naam van de resourcegroep in het vak Filteren op naam in.
- Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
- Selecteer Resourcegroep verwijderen.
- U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Voer de naam van de resourcegroep in ter bevestiging en selecteer Verwijderen.
Na enkele ogenblikken worden de resourcegroep en alle bijbehorende resources verwijderd.
Volgende stappen
Nu u weet hoe u met JSON-sleutelwaarden in uw App Configuration-archief kunt werken, maakt u een toepassing voor het gebruik van deze sleutelwaarden: