Dela via


Nycklar och värden

Azure App Configuration lagrar konfigurationsdata som nyckelvärden. Nyckelvärden är en enkel och flexibel representation av programinställningar som används av utvecklare.

Nycklar

Nycklar fungerar som identifierare för nyckelvärden och används för att lagra och hämta motsvarande värden. Det är vanligt att ordna nycklar i ett hierarkiskt namnområde med hjälp av en teckengränsare, till exempel / eller :. Använd en konvention som passar bäst för ditt program. App Configuration behandlar nycklar som en helhet. Det parsar inte nycklar för att ta reda på hur deras namn är strukturerade eller framtvinga någon regel på dem.

Här är ett exempel på nyckelnamn som är strukturerade i en hierarki baserat på komponenttjänster:

    AppName:Service1:ApiEndpoint
    AppName:Service2:ApiEndpoint

Användningen av konfigurationsdata i programramverk kan diktera specifika namngivningsscheman för nyckelvärden. Javas Spring Cloud-ramverk definierar Environment till exempel resurser som tillhandahåller inställningar till ett Spring-program. Dessa resurser parametriseras av variabler som innehåller programnamn och profil. Nycklar för Spring Cloud-relaterade konfigurationsdata börjar vanligtvis med dessa två element avgränsade med en avgränsare.

Nycklar som lagras i App Configuration är skiftlägeskänsliga, Unicode-baserade strängar. Nycklarna app1 och App1 är distinkta i en App Configuration butik. Tänk på detta när du använder konfigurationsinställningar i ett program eftersom vissa ramverk hanterar konfigurationsnycklar skiftlägesokänsligt. Vi rekommenderar inte att du använder skiftläge för att särskilja nycklar.

Du kan använda valfritt unicode-tecken i nyckelnamn förutom .% Ett nyckelnamn får inte vara . eller .. heller. Det finns en kombinerad storleksgräns på 10 kB för ett nyckelvärde. Den här gränsen omfattar alla tecken i nyckeln, dess värde och alla associerade valfria attribut. Inom den här gränsen kan du ha många hierarkiska nivåer för nycklar.

Namnområden för designnyckel

Två allmänna metoder för namngivning av nycklar används för konfigurationsdata: flat eller hierarkisk. Dessa metoder är liknande ur programanvändningssynpunkt, men hierarkisk namngivning ger många fördelar:

  • Enklare att läsa. Avgränsare i ett hierarkiskt nyckelnamn fungerar som blanksteg i en mening. De ger också naturliga brytningar mellan ord.
  • Enklare att hantera. En nyckelnamnshierarki representerar logiska grupper med konfigurationsdata.
  • Enklare att använda. Det är enklare att skriva en fråga som mönstermatchar nycklar i en hierarkisk struktur och bara hämtar en del av konfigurationsdata. Dessutom har många nyare programmeringsramverk inbyggt stöd för hierarkiska konfigurationsdata så att ditt program kan använda specifika konfigurationsuppsättningar.

Du kan organisera nycklar i App Configuration hierarkiskt på många sätt. Tänk på sådana nycklar som URI:er. Varje hierarkisk nyckel är en resurssökväg som består av en eller flera komponenter som kopplas samman av avgränsare. Välj vilket tecken som ska användas som avgränsare baserat på vad programmet, programmeringsspråket eller ramverket behöver. Använd flera avgränsare för olika nycklar i App Configuration.

Etikettnycklar

Som tillval kan nyckelvärden i App Configuration ha attributet label (etikett). Etiketter används för att skilja mellan nyckelvärden med samma nyckel. En nyckelapp1 med etiketterna A och B bildar två separata nycklar i ett App Configuration store. Som standard har ett nyckelvärde ingen etikett. Om du uttryckligen vill referera till ett nyckelvärde utan en etikett använder du \0 (URL-kodad som %00).

Etikett är ett bekvämt sätt att skapa varianter av en nyckel. Ett vanligt sätt att använda etiketter är att ange flera miljöer för samma nyckel:

    Key = AppName:DbEndpoint & Label = Test
    Key = AppName:DbEndpoint & Label = Staging
    Key = AppName:DbEndpoint & Label = Production

Versionsnyckelvärden

Använd etiketter som ett sätt att skapa flera versioner av ett nyckelvärde. Exempelvis kan du ange ett programversionsnummer eller ett Git-inchecknings-ID i etiketter för att identifiera nyckelvärden som är associerade med en viss programvaruversion.

Anteckning

Om du letar efter ändringsversioner behåller App Configuration alla ändringar av ett nyckelvärde som inträffat under den senaste tidsperioden automatiskt. Mer information finns i ögonblicksbild till tidpunkt.

Fråga nyckelvärden

Varje nyckelvärde identifieras unikt genom sin nyckel plus en etikett som kan vara \0. Du frågar efter nyckelvärden i ett App Configuration arkiv genom att ange ett mönster. Det App Configuration arkivet returnerar alla nyckelvärden som matchar mönstret, inklusive deras motsvarande värden och attribut. Använd följande nyckelmönster i REST API-anrop till App Configuration:

Nyckel Beskrivning
key utelämnas eller key=* Matchar alla nycklar.
key=abc Matchar nyckelnamnet abc exakt.
key=abc* Matchar nyckelnamn som börjar med abc.
key=abc,xyz Matchar nyckelnamn abc eller xyz. Begränsad till fem CSV:er.

Du kan också inkludera följande etikettmönster:

Etikett Beskrivning
label utelämnas eller label=* Matchar alla etiketter, som innehåller \0.
label=%00 Matchningar etiketten \0.
label=1.0.0 Matchar etiketten 1.0.0 exakt.
label=1.0.* Matchar etiketter som börjar med 1.0..
label=%00,1.0.0 Matchar etiketter \0 eller 1.0.0, begränsat till fem CSV:er.

Anteckning

*, ,och \ är reserverade tecken i frågor. Om ett reserverat tecken används i dina nyckelnamn eller etiketter måste du undvika det genom att använda \{Reserved Character} det i frågor.

Värden

Värden som tilldelas till nycklar är också Unicode-strängar. Du kan använda alla Unicode-tecken för värden.

Använda innehållstyp

Varje nyckelvärde i App Configuration har ett innehållstypattribut. Du kan också använda det här attributet för att lagra information om typen av värde i ett nyckelvärde som hjälper ditt program att bearbeta det korrekt. Du kan använda valfritt format för innehållstypen. App Configuration använder medietyper (kallas även MIME-typer) för inbyggda datatyper som funktionsflaggor, Key Vault referenser och JSON-nyckelvärden.

Nästa steg