Dela via


Använda innehållstyp för att lagra JSON-nyckelvärden i App Configuration

Data lagras i App Configuration som nyckelvärden, där värden behandlas som strängtyp som standard. Du kan dock ange en anpassad typ med hjälp av den innehållstypegenskap som är associerad med varje nyckelvärde. Den här processen bevarar den ursprungliga typen av data eller får ditt program att bete sig annorlunda baserat på innehållstyp.

Översikt

I App Configuration kan du använda JSON-medietypen som innehållstyp för dina nyckelvärden för att dra nytta av följande fördelar:

  • Enklare datahantering: Det blir mycket enklare att hantera nyckelvärden, till exempel matriser, i Azure-portalen.
  • Förbättrad dataexport: Primitiva typer, matriser och JSON-objekt bevaras under dataexporten.
  • Internt stöd med appkonfigurationsprovider: Nyckelvärden med JSON-innehållstyp fungerar bra när de används av appkonfigurationsproviderbibliotek i dina program.

Giltig JSON-innehållstyp

Medietyper, enligt definitionen här, kan tilldelas till den innehållstyp som är associerad med varje nyckelvärde. En medietyp består av en typ och en undertyp. Om typen är application och undertypen (eller suffixet) är jsonanses medietypen vara en giltig JSON-innehållstyp. Några exempel på giltiga JSON-innehållstyper är:

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

Giltiga JSON-värden

När ett nyckelvärde har en JSON-innehållstyp måste dess värde vara i giltigt JSON-format för att klienter ska kunna bearbeta det korrekt. Annars kan klienter misslyckas eller falla tillbaka och behandla det som strängformat. Några exempel på giltiga JSON-värden är:

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

Kommentar

För resten av den här artikeln kallas alla nyckelvärden i App Configuration som har en giltig JSON-innehållstyp och ett giltigt JSON-värde för JSON-nyckelvärde.

I den här självstudien får du lära dig att:

  • Skapa JSON-nyckelvärden i App Configuration.
  • Importera JSON-nyckelvärden från en JSON-fil.
  • Exportera JSON-nyckelvärden till en JSON-fil.
  • Använd JSON-nyckelvärden i dina program.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • Ett appkonfigurationsarkiv. Skapa en butik.
  • Den här självstudien kräver version 2.10.0 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Skapa JSON-nyckelvärden i App Configuration

JSON-nyckelvärden kan skapas med hjälp av Azure-portalen, Azure CLI eller genom att importera från en JSON-fil. I det här avsnittet hittar du instruktioner om hur du skapar samma JSON-nyckelvärden med alla tre metoderna.

Skapa JSON-nyckelvärden med hjälp av Azure-portalen

Lägg till följande nyckelvärden i App Configuration Store. Lämna Etikett med standardvärdet. Mer information om hur du lägger till nyckelvärden i ett arkiv med hjälp av Azure-portalen eller CLI finns i Skapa ett nyckelvärde.

Tangent Värde Innehållstyp
Inställningar:BackgroundColor "Grön" application/json
Inställningar:FontSize 24 application/json
Inställningar:UseDefaultRouting Falska application/json
Inställningar:BlockedUsers NULL application/json
Inställningar:ReleaseDate "2020-08-04T12:34:56.789Z" application/json
Inställningar:RolloutPercentage [25,50,75,100] application/json
Inställningar:Logging {"Test":{"Level":"Debug"},"Prod":{"Level":"Warning"}} application/json
  1. Välj Använd.

Skapa JSON-nyckelvärden med Hjälp av Azure CLI

Följande kommandon skapar JSON-nyckelvärden i appkonfigurationsarkivet. Ersätt <appconfig_name> med namnet på appkonfigurationsarkivet.

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\"}}

Viktigt!

Om du använder Azure CLI eller Azure Cloud Shell för att skapa JSON-nyckelvärden måste det angivna värdet vara en undantagen JSON-sträng.

Importera JSON-nyckelvärden från en fil

Skapa en JSON-fil Import.json med namnet med följande innehåll och importera den som nyckelvärden till 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

Kommentar

Argumentet --depth används för att platta ut hierarkiska data från en fil till nyckelvärden. I den här självstudien anges djup för att visa att du också kan lagra JSON-objekt som värden i App Configuration. Om djup inte anges plattas JSON-objekt ut till den djupaste nivån som standard.

De JSON-nyckelvärden som du skapade bör se ut så här i App Configuration:

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

Kontrollera detta genom att öppna appkonfigurationsresursen i Azure-portalen och gå till Konfigurationsutforskaren.

Exportera JSON-nyckelvärden till en fil

En av de största fördelarna med att använda JSON-nyckelvärden är möjligheten att bevara den ursprungliga datatypen för dina värden när du exporterar. Om ett nyckelvärde i App Configuration inte har JSON-innehållstyp behandlas dess värde som en sträng.

Överväg dessa nyckelvärden utan JSON-innehållstyp:

Tangent Värde Innehållstyp
Inställningar:FontSize 24
Inställningar:UseDefaultRouting falskt

När du exporterar dessa nyckelvärden till en JSON-fil exporteras värdena som strängar:

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

Men när du exporterar JSON-nyckelvärden till en fil bevarar alla värden sin ursprungliga datatyp. För att verifiera den här processen exporterar du nyckelvärden från appkonfigurationen till en JSON-fil. Du ser att den exporterade filen har samma innehåll som den Import.json fil som du tidigare importerade.

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

Kommentar

Om appkonfigurationsarkivet har vissa nyckelvärden utan JSON-innehållstyp exporteras de också till samma fil i strängformat.

Använda JSON-nyckelvärden i program

Det enklaste sättet att använda JSON-nyckelvärden i ditt program är via appkonfigurationsproviderbibliotek. Med providerbiblioteken behöver du inte implementera särskild hantering av JSON-nyckelvärden i ditt program. De parsas och konverteras så att de matchar programmets interna konfiguration.

Om du till exempel har följande nyckelvärde i App Configuration:

Tangent Värde Innehållstyp
Inställningar {"FontSize":24,"UseDefaultRouting":false} application/json

Konfigurationen av .NET-programmet har följande nyckelvärden:

Tangent Värde
Inställningar:FontSize 24
Inställningar:UseDefaultRouting falskt

Du kan komma åt de nya nycklarna direkt eller så kan du välja att binda konfigurationsvärden till instanser av .NET-objekt.

Viktigt!

Inbyggt stöd för JSON-nyckelvärden är tillgängligt i .NET-konfigurationsprovider version 4.0.0 (eller senare). Mer information finns i avsnittet Nästa steg .

Om du använder SDK eller REST API för att läsa nyckelvärden från App Configuration, baserat på innehållstypen, ansvarar ditt program för att parsa värdet för ett JSON-nyckelvärde.

Rensa resurser

Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.

  1. Logga in på Azure-portalen och välj Resursgrupper.
  2. I rutan Filtrera efter namn anger du namnet på resursgruppen.
  3. I resultatlistan väljer du resursgruppens namn för att se en översikt.
  4. Välj Ta bort resursgrupp.
  5. Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.

Efter en liten stund tas resursgruppen och alla dess resurser bort.

Nästa steg

Nu när du vet hur du arbetar med JSON-nyckelvärden i appkonfigurationsarkivet skapar du ett program för användning av dessa nyckelvärden: