Share via


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), jsonwordt 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

  • 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
  1. 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:

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

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.

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.
  2. Voer de naam van de resourcegroep in het vak Filteren op naam in.
  3. Selecteer in de resultatenlijst de resourcegroepnaam om een overzicht te bekijken.
  4. Selecteer Resourcegroep verwijderen.
  5. 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: