vanliga frågor och svar om Azure App Configuration

Den här artikeln besvarar vanliga frågor om Azure App Configuration.

Hur skiljer sig App Configuration från Azure Key Vault?

App Configuration hjälper utvecklare att hantera programinställningar och styra tillgängligheten för funktioner. Syftet är att förenkla många av uppgifterna med att arbeta med komplexa konfigurationsdata.

App Configuration stöder:

  • Hierarkiska namnrymder
  • Märkning
  • Omfattande frågor
  • Batchhämtning
  • Specialiserade hanteringsåtgärder
  • Ett användargränssnitt för funktionshantering

App Configuration kompletterar Key Vault och de två bör användas sida vid sida i de flesta programdistributioner.

Ska jag lagra hemligheter i App Configuration?

Även om App Configuration ger förstärkt säkerhet är Key Vault fortfarande den bästa platsen för att lagra programhemligheter. Key Vault tillhandahåller kryptering på maskinvarunivå, detaljerade åtkomstprinciper och hanteringsåtgärder som certifikatrotation.

Du kan skapa App Configuration värden som refererar till hemligheter som lagras i Key Vault. Mer information finns i Använda Key Vault referenser i en ASP.NET Core app.

Krypterar App Configuration mina data?

Ja. App Configuration krypterar alltid alla data under överföring och i vila. All nätverkskommunikation sker via TLS 1.2 eller TLS 1.3. App Configuration stöder kryptering i vila med antingen Microsoft-hanterade nycklar eller kundhanterade nycklar.

Hur skiljer sig App Configuration från Azure App Service inställningar?

Azure App Service kan du definiera appinställningar för varje App Service instans. De här inställningarna skickas som miljövariabler till programkoden. Du kan associera en inställning med ett specifikt distributionsfack om du vill. Mer information finns i Konfigurera appinställningar.

I Azure App Configuration kan du däremot definiera inställningar som kan delas mellan flera appar. Detta inkluderar appar som körs i App Service, samt andra plattformar. Programkoden kommer åt de här inställningarna via konfigurationsprovidrar för .NET och Java, via Azure SDK eller direkt via REST-API:er.

Du kan lägga till referenser till dina App Configuration data i programinställningarna för din App Service. Du kan också importera och exportera inställningar mellan App Service och App Configuration. Med den här funktionen kan du snabbt konfigurera en ny App Configuration butik baserat på befintliga App Service inställningar. Du kan också dela konfigurationen med en befintlig app som förlitar sig på App Service inställningar.

Finns det några storleksbegränsningar för nycklar och värden som lagras i App Configuration?

Det finns en gräns på 10 kB för ett enda nyckelvärde, inklusive attribut som etikett, innehållstyp, taggar och andra metadata.

Den här gränsen bör vara tillräcklig för en enda inställning i de flesta program. Om du upptäcker att din inställning är större än den här gränsen kan du överväga att lagra dina data någon annanstans och lägga till en referens för dessa data i App Configuration.

Hur ska jag lagra konfigurationer för flera miljöer (test, mellanlagring, produktion och så vidare)?

Du styr vem som kan komma åt App Configuration på nivån per butik. Använd ett separat arkiv för varje miljö som kräver olika behörigheter. Den här metoden ger bästa möjliga säkerhetsisolering.

Om du inte behöver säkerhetsisolering mellan miljöer kan du använda etiketter för att skilja mellan konfigurationsvärden. Använd etiketter för att aktivera olika konfigurationer för olika miljöer är ett fullständigt exempel.

Vilka är de rekommenderade sätten att använda App Configuration?

Hur mycket kostar App Configuration?

Det finns två prisnivåer:

  • Kostnadsfri nivå
  • Standard-nivå

Om du skapade en butik innan standardnivån introducerades flyttades den automatiskt till den kostnadsfria nivån vid allmän tillgänglighet. Du kan välja att uppgradera till standardnivån eller behålla den kostnadsfria nivån.

Du kan inte nedgradera en butik från standardnivån till den kostnadsfria nivån. Du kan skapa ett nytt lager på den kostnadsfria nivån och sedan importera konfigurationsdata till det arkivet.

Vilken App Configuration nivå ska jag använda?

Båda App Configuration-nivåerna erbjuder grundläggande funktioner, inklusive konfigurationsinställningar, funktionsflaggor, Key Vault referenser, grundläggande hanteringsåtgärder, mått och loggar.

Följande är saker att tänka på när du väljer en nivå.

  • Resurser per prenumeration: En resurs består av ett enda konfigurationslager. Varje prenumeration är begränsad till ett konfigurationsarkiv på den kostnadsfria nivån. Prenumerationer kan ha ett obegränsat antal konfigurationslager på standardnivån.

  • Lagring per resurs: På den kostnadsfria nivån är varje konfigurationsarkiv begränsat till 10 MB lagringsutrymme. På standardnivån kan varje konfigurationslager använda upp till 1 GB lagringsutrymme.

  • Revisionshistorik: App Configuration lagrar en historik över alla ändringar som gjorts i nycklar. På den kostnadsfria nivån lagras den här historiken i sju dagar. På standardnivån lagras den här historiken i 30 dagar.

  • Begärandekvot: Butiker på den kostnadsfria nivån är begränsade till 1 000 begäranden per dag. När ett arkiv når 1 000 begäranden returneras HTTP-statuskod 429 för alla begäranden fram till midnatt UTC.

    Standardnivåbutiker är begränsade till 30 000 begäranden per timme. När timkvoten är slut kan begäranden returnera HTTP-statuskod 429 som anger för många begäranden till slutet av timmen. När fler begäranden skickas som överskrider kvoten kan en högre procentandel av dem returnera statuskod 429.

  • Serviceavtal: Standardnivån har ett serviceavtal med 99,9 % tillgänglighet. Den kostnadsfria nivån har inget serviceavtal.

  • Säkerhetsfunktioner: Båda nivåerna omfattar grundläggande säkerhetsfunktioner, inklusive kryptering med Microsoft-hanterade nycklar, autentisering via HMAC eller Azure Active Directory, Azure RBAC-stöd, hanterad identitet och tjänsttaggar. Standardnivån erbjuder mer avancerade säkerhetsfunktioner, inklusive Private Link support och kryptering med kundhanterade nycklar.

  • Kostnad: Standardnivåbutiker har en daglig användningsavgift. De första 200 000 begärandena varje dag ingår i den dagliga avgiften. Det finns också en överförbrukningsavgift för begäranden som passerat den dagliga allokeringen. Det kostar ingenting att använda en butik på den kostnadsfria nivån.

Kan jag uppgradera en butik från den kostnadsfria nivån till standardnivån? Kan jag nedgradera en butik från standardnivån till den kostnadsfria nivån?

Du kan när som helst uppgradera från den kostnadsfria nivån till standardnivån.

Du kan inte nedgradera en butik från standardnivån till den kostnadsfria nivån. Du kan skapa ett nytt lager på den kostnadsfria nivån och sedan importera konfigurationsdata till det arkivet.

Var finns data som lagras i App Configuration?

Kunddata som lagras i App Configuration finns i den region där kundens App Configuration butik skapades. Kunddata replikeras endast till en annan region om kunden aktiverar geo-replikering för den regionen. Detta gäller för alla tillgängliga regioner. Kunder kan flytta, kopiera eller komma åt sina data från valfri plats globalt.

Hur säkerställer App Configuration hög datatillgänglighet?

Azure App Configuration stöder geo-replikering för förbättrad återhämtning vid regionala avbrott.

Azure App Configuration har stöd för Azure-tillgänglighetszoner för att skydda ditt program och dina data från enskilda datacenterfel. Alla tillgänglighetszonaktiverade regioner består av minst 3 tillgänglighetszoner, där var och en är ett fysiskt oberoende datacenter. För återhämtning är det här stödet i App Configuration aktiverat för alla kunder utan extra kostnad. Nedan följer regioner som App Configuration har aktiverat stöd för tillgänglighetszoner. Mer information finns i Regioner och Tillgänglighetszoner i Azure.

Följande är regioner där App Configuration har aktiverat stöd för tillgänglighetszoner.

Nord- och Sydamerika Europa Mellanöstern Afrika Asien och stillahavsområdet
Brasilien, södra Frankrike, centrala Qatar, centrala Australien, östra
Kanada, centrala Tyskland, västra centrala Indien, centrala
Central US Europa, norra Japan, östra
East US Norge, östra Sydkorea, centrala
USA, östra 2 Storbritannien, södra Sydostasien
USA, södra centrala Europa, västra Asien, östra
USA, västra 2 Sverige, centrala Kina, norra 3
USA, västra 3

Finns det några begränsningar för antalet begäranden som görs till App Configuration?

Konfigurationslager på den kostnadsfria nivån är begränsade till 1 000 begäranden per dag. Konfigurationslager på Standard-nivån kan uppleva tillfälliga begränsningar när begärandefrekvensen överskrider 30 000 begäranden per timme.

När ett arkiv når sin gräns på standardnivån kan det returnera HTTP-statuskod 429 för vissa begäranden som görs till slutet av timmen. Rubriken retry-after-ms i svaret ger en föreslagen väntetid (i millisekunder) innan begäran försöker igen.

Om ditt program regelbundet får HTTP-statuskod 429-svar bör du överväga att göra om det för att minska antalet begäranden som görs. Mer information finns i Reduce requests made to App Configuration (Minska förfrågningar till App Configuration

Mitt program får HTTP-statuskod 429-svar. Varför?

Du får ett HTTP-statuskod 429-svar under dessa omständigheter:

  • Överskrider den dagliga begärandegränsen för ett arkiv på den kostnadsfria nivån.
  • Överskrider gränsen för begäranden varje timme för ett arkiv på standardnivån.
  • Tillfällig begränsning på grund av en stor mängd begäranden†.
  • Överdriven bandbreddsanvändning.
  • Försöker skapa eller ändra en nyckel när lagringskvoten överskrids.

Kontrollera brödtexten i 429-svaret av den specifika orsaken till att begäran misslyckades.

†En konfigurationsarkiv kan uppleva tillfällig begränsning om det tar emot en stor mängd begäranden. App Configuration klienter, till exempel Azure SDK, konfigurationsproviderbibliotek och Azure Pipeline-uppgifter, försöker automatiskt igen på begränsade begäranden. För alla program som använder någon av dessa klienter, eller en anpassad klient som försöker utföra återförsök på begränsade begäranden, bör den här ögonblickliga begränsningen gå obemärkt förbi, om det skulle inträffa.

Varför kan jag inte skapa en App Configuration butik med samma namn som jag just har tagit bort?

Alla App Configuration butiker på standardnivån har automatiskt aktiverat funktionen för mjuk borttagning. När en standardnivå App Configuration store tas bort reserveras namnet för kvarhållningsperioden. Om du vill återskapa ett arkiv med samma namn innan kvarhållningsperioden går ut måste du först rensa det mjukt borttagna arkivet , förutsatt att arkivet inte har rensningsskydd aktiverat. Om rensningsskyddet är aktiverat måste du vänta tills kvarhållningsperioden har gått ut. Använd rensningsfunktionen eller ange en kortare kvarhållningsperiod om du ofta behöver återskapa ett arkiv med samma namn.

Hur återställer jag ett App Configuration arkiv som jag tog bort av misstag?

Alla App Configuration butiker på standardnivån stöder funktionen för mjuk borttagning, som inte kan inaktiveras. Du kan återställa ett borttaget arkiv inom kvarhållningsperioden. Följ de här anvisningarna för att återställa en felaktigt borttagen App Configuration butik.

Kan jag skapa och uppdatera funktionsflaggor eller Key Vault referenser programmatiskt?

Ja. Du kan hantera funktionsflaggor och Key Vault referenser i App Configuration via Azure Portal eller CLI, men du kan också skapa och uppdatera dem programmatiskt med hjälp av App Configuration SDK:er. Därför kan du skriva din anpassade hanteringsportal eller hantera dem i DIN CI/CD programmatiskt. Funktionsflaggan och Key Vault referens-API:er är tillgängliga i SDK:er för alla språk som stöds. Se exempellänkarna för exempel på varje språk som stöds.

Utvärdering och användning av funktionsflaggor i ditt program kräver App Configuration-providern och funktionshanteringsbiblioteken, som är tillgängliga i .NET och Java Spring. Mer information finns i avsnittet Funktionshantering under Snabbstarter och Självstudier .

Så här använder du Java Spring-profiler i App Configuration?

Spring-profiler är ett sätt att separera delar av ditt program, inklusive konfiguration, och göra det endast tillgängligt i vissa miljöer eller när specifika bibliotek används.

Du rekommenderas att ange etiketten för dina nyckelvärden så att den matchar dina Spring-profiler. Som standard läser App Configuration Spring-providerbiblioteket in nyckelvärdena med de etiketter som matchar de aktuella aktiva Spring-profilerna (${spring.profiles.active}) om etikettfiltret inte anges uttryckligen. Om det inte finns någon aktiv Spring-profiluppsättning läses nyckelvärden med "ingen etikett" in.

Med profiler dev och prodskapar du till exempel nyckelvärden i enlighet med följande etiketter.

Nyckel Etikett Värde
/application/config.message dev Hej från dev
/application/config.message Art Hej från prod

När Spring-profilen är inställd på devblir Hello from devvärdet config.message för . När Spring-profilen är inställd på prodblir Hello from prodvärdet config.message för .

Det här standardbeteendet kan åsidosättas genom att ange etikettfiltret i bootstrap-filen. Spring-providerbiblioteket läser in nyckelvärden med de angivna etiketterna oavsett den aktiva Spring-profilen.

spring.cloud.azure.appconfiguration.stores[0].selects[0].label-filter: my-label

Om du vill välja andra etiketter och dina Spring-profiler kan du använda val som som ',${spring.profiles.active}' väljer alla nycklar utan etikett och de som matchar dina Spring-profiler. Etiketterna längst till höger prioriteras när dubbletter av nycklar hittas.

Hur får jag meddelanden om nya versioner och annan information som rör App Configuration?

Hur rapporterar jag ett problem eller ger ett förslag?

Du kan nå oss direkt på GitHub.

Nästa steg