Konfigurera programinställningar
I App Service är appinställningar variabler som skickas som miljövariabler till programkoden. För Linux-appar och anpassade containrar skickar App Service appinställningar till containern --env
med hjälp av flaggan för att ange miljövariabeln i containern.
Programinställningar kan nås genom att gå till appens hanteringssida och välja Miljövariabler > Programinställningar.
För ASP.NET och ASP.NET Core-utvecklare är det som att ange appinställningar i App Service som att ange dem i <appSettings>
Web.config eller appsettings.json, men värdena i App Service åsidosätter dem i Web.config eller appsettings.json. Du kan behålla utvecklingsinställningar (till exempel lokalt MySQL-lösenord) i Web.config eller appsettings.json och produktionshemligheter (till exempel Azure MySQL-databaslösenord) på ett säkert sätt i App Service. Samma kod använder dina utvecklingsinställningar när du felsöker lokalt och använder dina produktionshemligheter när de distribueras till Azure.
Appinställningar krypteras alltid när de lagras (krypterade i vila).
Lägga till och redigera inställningar
Om du vill lägga till en ny appinställning väljer du + Lägg till. Om du använder distributionsplatser kan du ange om inställningen kan växlas eller inte. I dialogrutan kan du hålla inställningen till det aktuella facket.
När du är klar väljer du Använd. Glöm inte att välja Använd igen på sidan Miljövariabler.
Kommentar
I en linux-standardapptjänst eller en anpassad Linux-container måste valfri kapslad JSON-nyckelstruktur i appinställningsnamnet ApplicationInsights:InstrumentationKey
konfigureras i App Service som ApplicationInsights__InstrumentationKey
för nyckelnamnet. Med andra ord bör alla :
ersättas med __
(dubbelt understreck). Alla perioder i appinställningens namn ersätts med ett _
(enda understreck).
Massredigering av programinställningar
Om du vill lägga till eller redigera appinställningar i grupp väljer du knappen Avancerad redigering . När du är klar väljer du OK. Glöm inte att välja Använd igen på sidan Miljövariabler. Appinställningarna har följande JSON-formatering:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Konfigurera anslutningssträngar
För ASP.NET och ASP.NET Core-utvecklare är inställningen anslutningssträng i App Service som att ange dem i <connectionStrings>
Web.config, men de värden som du anger i App Service åsidosätter dem i Web.config. För andra språkstackar är det bättre att använda appinställningar i stället, eftersom anslutningssträng kräver särskild formatering i variabelnycklarna för att få åtkomst till värdena.
Dricks
Det finns ett fall där du kanske vill använda anslutningssträng i stället för appinställningar för non-.NET språk: vissa Azure-databastyper säkerhetskopieras endast tillsammans med appen om du konfigurerar en anslutningssträng för databasen i App Service-appen.
Att lägga till och redigera anslutningssträng följer samma principer som andra appinställningar och de kan också kopplas till distributionsplatser. Ett exempel på anslutningssträng i JSON-formatering som du använder för massredigering:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Kommentar
.NET-appar som riktar sig till PostgreSQL bör ange anslutningssträng till Anpassad som lösning för ett känt problem i .NET EnvironmentVariablesConfigurationProvider.
Konfigurera miljövariabler för anpassade containrar
Din anpassade container kan använda miljövariabler som måste anges externt. Du kan skicka in dem via Cloud Shell. I Bash:
az webapp config appsettings set --resource-group <group-name> --name <app-name> --settings key1=value1 key2=value2
I PowerShell:
Set-AzWebApp -ResourceGroupName <group-name> -Name <app-name> -AppSettings @{"DB_HOST"="myownserver.mysql.database.azure.com"}
När appen körs matas App Service-appinställningarna in i processen som miljövariabler automatiskt. Du kan verifiera miljövariabler för containrar med URL:en https://<app-name>.scm.azurewebsites.net/Env
.