Referens för appinställningar för Azure Functions
Programinställningar i en funktionsapp innehåller konfigurationsalternativ som påverkar alla funktioner för funktionsappen. De här inställningarna används som miljövariabler. I den här artikeln visas de appinställningar som är tillgängliga i funktionsappar.
Det finns flera sätt att lägga till, uppdatera och ta bort funktionsappinställningar:
Ändringar i funktionsappsinställningarna kräver att funktionsappen startas om.
I den här artikeln trunkeras exempel anslutningssträng värden för läsbarhet.
Eftersom Azure Functions använder Azure App Service-plattformen som värd kan du hitta vissa inställningar som är relevanta för din funktionsapp som är värd för dokumenterade miljövariabler och appinställningar i Azure App Service.
Överväganden för appinställning
När du använder appinställningar bör du vara medveten om följande överväganden:
Ändringar i funktionsappsinställningarna kräver att funktionsappen startas om.
I inställningsnamn betraktas dubbla understreck (
__
) och kolon (:
) som reserverade värden. Dubbla understreck tolkas som hierarkiska avgränsare i både Windows och Linux, och kolon tolkas på samma sätt endast i Windows. InställningenAzureFunctionsWebHost__hostid=somehost_123456
tolkas till exempel som följande JSON-objekt:"AzureFunctionsWebHost": { "hostid": "somehost_123456" }
I den här artikeln används endast dubbla understreck eftersom de stöds på båda operativsystemen. De flesta inställningar som stöder hanterade identitetsanslutningar använder dubbla understreck.
När Functions körs lokalt anges appinställningar i
Values
samlingen i local.settings.json.Det finns andra konfigurationsalternativ för funktionsappar i host.json-filen och i filen local.settings.json.
Du kan använda programinställningar för att åsidosätta host.json inställningsvärden utan att behöva ändra själva host.json-filen. Detta är användbart för scenarier där du behöver konfigurera eller ändra specifika host.json inställningar för en viss miljö. På så sätt kan du också ändra host.json inställningar utan att behöva publicera om projektet. Mer information finns i referensartikeln host.json.
Den här artikeln dokumenterar de inställningar som är mest relevanta för dina funktionsappar. Eftersom Azure Functions körs på App Service stöds även andra programinställningar. Mer information finns i Miljövariabler och appinställningar i Azure App Service.
Vissa scenarier kräver också att du arbetar med inställningar som dokumenteras i App Service-webbplatsinställningar.
Om du ändrar skrivskyddade App Service-programinställningar kan funktionsappen hamna i ett tillstånd som inte svarar.
Var försiktig när du uppdaterar programinställningarna med hjälp av REST-API:er, inklusive ARM-mallar. Eftersom dessa API:er ersätter de befintliga programinställningarna måste du inkludera alla befintliga inställningar när du lägger till eller ändrar inställningar med hjälp av REST-API:er eller ARM-mallar. När det är möjligt kan du använda Azure CLI eller Azure PowerShell för att programmatiskt arbeta med programinställningar. Mer information finns i Arbeta med programinställningar.
APPINSIGHTS_INSTRUMENTATIONKEY
Instrumentationsnyckeln för Application Insights. Använd inte både APPINSIGHTS_INSTRUMENTATIONKEY
och APPLICATIONINSIGHTS_CONNECTION_STRING
. Använd när APPLICATIONINSIGHTS_CONNECTION_STRING
det är möjligt . När Application Insights körs i ett nationellt moln måste du använda APPLICATIONINSIGHTS_CONNECTION_STRING
. Mer information finns i Konfigurera övervakning för Azure Functions.
Nyckel | Exempelvärde |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
Använd inte både APPINSIGHTS_INSTRUMENTATIONKEY
och APPLICATIONINSIGHTS_CONNECTION_STRING
. Användning av APPLICATIONINSIGHTS_CONNECTION_STRING
rekommenderas.
APPLICATIONINSIGHTS_AUTHENTICATION_STRING
Ger åtkomst till Application Insights med hjälp av Microsoft Entra-autentisering. Använd den här inställningen när du måste ansluta till Din Application Insights-arbetsyta med hjälp av Microsoft Entra-autentisering. Mer information finns i Microsoft Entra-autentisering för Application Insights.
När du använder APPLICATIONINSIGHTS_AUTHENTICATION_STRING
beror det specifika värdet som du anger på typen av hanterad identitet:
Hanterad identitet | Inställningsvärde |
---|---|
Systemtilldelad | Authorization=AAD |
Användartilldelad | Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID> |
Det här autentiseringskravet tillämpas på anslutningar från Functions-värden, felsökningsprogram för ögonblicksbilder, profilerare och alla språkspecifika agenter. Om du vill använda den här inställningen måste den hanterade identiteten redan vara tillgänglig för funktionsappen, med en tilldelad roll som motsvarar Monitoring Metrics Publisher.
Kommentar
När du använder APPLICATIONINSIGHTS_AUTHENTICATION_STRING
för att ansluta till Application Insights med Microsoft Entra-autentisering bör du även inaktivera lokal autentisering för Application Insights. Den här konfigurationen kräver Microsoft Entra-autentisering för att telemetri ska matas in på din arbetsyta.
APPLICATIONINSIGHTS_CONNECTION_STRING
Anslutningssträng för Application Insights. Använd inte både APPINSIGHTS_INSTRUMENTATIONKEY
och APPLICATIONINSIGHTS_CONNECTION_STRING
. Även om användning av APPLICATIONINSIGHTS_CONNECTION_STRING
rekommenderas i alla fall, krävs det i följande fall:
- När din funktionsapp kräver de tillagda anpassningar som stöds med hjälp av anslutningssträng.
- När Application Insights-instansen körs i ett nationellt moln, vilket kräver en anpassad slutpunkt.
Mer information finns i Anslutningssträngar.
Nyckel | Exempelvärde |
---|---|
APPLICATIONINSIGHTS_CONNECTION_STRING | InstrumentationKey=... |
Om du vill ansluta till Application Insights med Microsoft Entra-autentisering bör du använda APPLICATIONINSIGHTS_AUTHENTICATION_STRING
.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL
Viktigt!
Azure Functions-proxyservrar är en äldre funktion för version 1.x till 3.x av Azure Functions-körningen. Mer information om äldre stöd i version 4.x finns i Functions-proxyservrar.
Som standard använder Functions proxyservrar en genväg för att skicka API-anrop från proxyservrar direkt till funktioner i samma funktionsapp. Den här genvägen används i stället för att skapa en ny HTTP-begäran. Med den här inställningen kan du inaktivera genvägsbeteendet.
Tangent | Värde | beskrivning |
---|---|---|
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | true |
Anrop med en serverdels-URL som pekar på en funktion i den lokala funktionsappen skickas inte direkt till funktionen. I stället dirigeras begäranden tillbaka till HTTP-klientdelen för funktionsappen. |
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | false |
Anrop med en serverdels-URL som pekar på en funktion i den lokala funktionsappen vidarebefordras direkt till funktionen. false är standardvärdet. |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
Viktigt!
Azure Functions-proxyservrar är en äldre funktion för version 1.x till 3.x av Azure Functions-körningen. Mer information om äldre stöd i version 4.x finns i Functions-proxyservrar.
Den här inställningen styr om tecknen %2F
avkodas som snedstreck i vägparametrar när de infogas i serverdels-URL:en.
Tangent | Värde | beskrivning |
---|---|---|
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | true |
Routningsparametrar med kodade snedstreck avkodas. |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | false |
Alla vägparametrar skickas oförändrade, vilket är standardbeteendet. |
Tänk till exempel på proxies.json-filen för en funktionsapp i domänen myfunction.com
.
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"root": {
"matchCondition": {
"route": "/{*all}"
},
"backendUri": "example.com/{all}"
}
}
}
När AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
är inställt på true
matchas URL:en example.com/api%2ftest
till example.com/api/test
. Url:en förblir som standard oförändrad som example.com/test%2fapi
. Mer information finns i Functions-proxyservrar.
AZURE_FUNCTIONS_ENVIRONMENT
Konfigurerar körningsvärdmiljön för funktionsappen när den körs i Azure. Det här värdet läss under initieringen och endast dessa värden respekteras av körningen:
Värde | beskrivning |
---|---|
Production |
Representerar en produktionsmiljö med minskad loggning och fullständiga prestandaoptimeringar. Detta är standardvärdet när AZURE_FUNCTIONS_ENVIRONMENT antingen inte har angetts eller är inställt på ett värde som inte stöds. |
Staging |
Representerar en mellanlagringsmiljö, till exempel när den körs i ett mellanlagringsfack. |
Development |
En utveckling omgivningsstöd mer utförlig loggning och andra minskade prestandaoptimeringar. Azure Functions Core Tools anges AZURE_FUNCTIONS_ENVIRONMENT till Development när de körs på din lokala dator. Den här inställningen kan inte åsidosättas i filen local.settings.json. |
Använd den här inställningen i stället för ASPNETCORE_ENVIRONMENT
när du behöver ändra körningsmiljön i Azure till något annat än Production
. Mer information finns i Miljöbaserad startklass och metoder.
Den här inställningen är inte tillgänglig i version 1.x av Functions-körningen.
AzureFunctionsJobHost__*
I version 2.x och senare versioner av Functions-körningen kan programinställningar åsidosätta host.json inställningar i den aktuella miljön. Dessa åsidosättningar uttrycks som programinställningar med namnet AzureFunctionsJobHost__path__to__setting
. Mer information finns i Åsidosätta värden för host.json.
AzureFunctionsWebHost__hostid
Anger värd-ID för en viss funktionsapp, vilket ska vara ett unikt ID. Den här inställningen åsidosätter det automatiskt genererade värd-ID-värdet för din app. Använd endast den här inställningen när du behöver förhindra kollisioner mellan värd-ID mellan funktionsappar som delar samma lagringskonto.
Ett värd-ID måste uppfylla följande krav:
- Mellan 1 och 32 tecken
- innehåller endast gemener, siffror och bindestreck
- Starta eller avsluta inte med ett bindestreck
- Innehåller inte på varandra följande bindestreck
Ett enkelt sätt att generera ett ID är att ta ett GUID, ta bort bindestrecken och göra det gemener, till exempel genom att konvertera GUID 1835D7B5-5C98-4790-815D-072CC94C6F71
till värdet 1835d7b55c984790815d072cc94c6f71
.
Nyckel | Exempelvärde |
---|---|
AzureFunctionsWebHost__hostid | myuniquefunctionappname123456789 |
Mer information finns i Överväganden för värd-ID.
AzureWebJobsDashboard
Den här inställningen är inaktuell och stöds endast när den körs på version 1.x av Azure Functions-körningen.
Valfritt lagringskonto anslutningssträng för att lagra loggar och visa dem på fliken Övervaka i portalen. Lagringskontot måste vara ett allmänt konto som stöder blobar, köer och tabeller. Mer information finns i Krav för lagringskonto.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=... |
AzureWebJobsDisableHomepage
Värdet true
inaktiverar standardlandningssidan som visas för rot-URL:en för en funktionsapp. Standardvärdet är false
.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsDisableHomepage | true |
När den här appinställningen utelämnas eller anges till false
visas en sida som liknar följande exempel som svar på URL:en <functionappname>.azurewebsites.net
.
AzureWebJobsDotNetReleaseCompilation
true
innebär att använda versionsläge vid kompilering av .NET-kod. false
innebär att du använder felsökningsläge. Standard är true
.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsDotNetReleaseCompilation | true |
AzureWebJobsFeatureFlags
En kommaavgränsad lista över betafunktioner som ska aktiveras. Betafunktioner som aktiveras av dessa flaggor är inte produktionsklara, men kan aktiveras för experimentell användning innan de går live.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsFeatureFlags | feature1,feature2,EnableProxies |
Lägg till EnableProxies
i den här listan för att återaktivera proxyservrar på version 4.x av Functions-körningen medan du planerar migreringen till Azure API Management. Mer information finns i Återaktivera proxyservrar i Functions v4.x.
AzureWebJobsKubernetesSecretName
Anger den Kubernetes Secrets-resurs som används för att lagra nycklar. Stöds endast vid körning i Kubernetes. Den här inställningen kräver att du anger AzureWebJobsSecretStorageType
till kubernetes
. När AzureWebJobsKubernetesSecretName
inte har angetts betraktas lagringsplatsen som skrivskyddad. I det här fallet måste värdena genereras före distributionen. Azure Functions Core Tools genererar värdena automatiskt när de distribueras till Kubernetes.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsKubernetesSecretName | <SECRETS_RESOURCE> |
Mer information finns i Hantera nyckellagring.
AzureWebJobsSecretStorageKeyVaultClientId
Klient-ID för den användartilldelade hanterade identiteten eller appregistreringen som används för att komma åt valvet där nycklar lagras. Den här inställningen kräver att du anger AzureWebJobsSecretStorageType
till keyvault
. Stöds i version 4.x och senare versioner av Functions-körningen.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
Mer information finns i Hantera nyckellagring.
AzureWebJobsSecretStorageKeyVaultClientSecret
Hemligheten för klient-ID för den användartilldelade hanterade identiteten eller appregistreringen som används för att komma åt valvet där nycklar lagras. Den här inställningen kräver att du anger AzureWebJobsSecretStorageType
till keyvault
. Stöds i version 4.x och senare versioner av Functions-körningen.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
Mer information finns i Hantera nyckellagring.
AzureWebJobsSecretStorageKeyVaultName
Den här inställningen är inaktuell och användes endast när den kördes på version 3.x av Azure Functions-körningen.
Namnet på en key vault-instans som används för att lagra nycklar. Den här inställningen användes endast i version 3.x av Functions-körningen, som inte längre stöds. För version 4.x använder du AzureWebJobsSecretStorageKeyVaultUri
i stället . Den här inställningen kräver att du anger AzureWebJobsSecretStorageType
till keyvault
.
Valvet måste ha en åtkomstprincip som motsvarar den systemtilldelade hanterade identiteten för värdresursen. Åtkomstprincipen bör ge identiteten följande hemliga behörigheter: Get
,Set
, List
och Delete
.
När dina funktioner körs lokalt används utvecklaridentiteten och inställningarna måste finnas i filen local.settings.json.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
Mer information finns i Hantera nyckellagring.
AzureWebJobsSecretStorageKeyVaultTenantId
Klientorganisations-ID:t för appregistreringen som används för att komma åt valvet där nycklar lagras. Den här inställningen kräver att du anger AzureWebJobsSecretStorageType
till keyvault
. Stöds i version 4.x och senare versioner av Functions-körningen. Mer information finns i Hantera nyckellagring.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
URI:n för en key vault-instans som används för att lagra nycklar. Stöds i version 4.x och senare versioner av Functions-körningen. Det här är den rekommenderade inställningen för att använda en key vault-instans för nyckellagring. Den här inställningen kräver att du anger AzureWebJobsSecretStorageType
till keyvault
.
Värdet AzureWebJobsSecretStorageKeyVaultUri
ska vara det fullständiga värdet för Valv-URI som visas på fliken Översikt för Key Vault, inklusive https://
.
Valvet måste ha en åtkomstprincip som motsvarar den systemtilldelade hanterade identiteten för värdresursen. Åtkomstprincipen bör ge identiteten följande hemliga behörigheter: Get
,Set
, List
och Delete
.
När dina funktioner körs lokalt används utvecklaridentiteten och inställningarna måste finnas i filen local.settings.json.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsSecretStorageKeyVaultUri | https://<VAULT_NAME>.vault.azure.net |
Mer information finns i Använda Key Vault-referenser för Azure Functions.
AzureWebJobsSecretStorageSas
En SAS-URL för Blob Storage för ett andra lagringskonto som används för nyckellagring. Som standard använder Functions kontouppsättningen i AzureWebJobsStorage
. När du använder det här alternativet för hemlig lagring kontrollerar du att AzureWebJobsSecretStorageType
inte uttryckligen har angetts eller är inställt på blob
. Mer information finns i Hantera nyckellagring.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsSecretStorageSas | <BLOB_SAS_URL> |
AzureWebJobsSecretStorageType
Anger den lagringsplats eller provider som ska användas för nyckellagring. Nycklar krypteras alltid innan de lagras med hjälp av en hemlighet som är unik för din funktionsapp.
Tangent | Värde | beskrivning |
---|---|---|
AzureWebJobsSecretStorageType | blob |
Nycklar lagras i en Blob Storage-container i det konto som anges av inställningen AzureWebJobsStorage . Blob Storage är standardbeteendet när AzureWebJobsSecretStorageType inte har angetts.Om du vill ange ett annat lagringskonto använder du inställningen AzureWebJobsSecretStorageSas för att ange SAS-URL:en för ett andra lagringskonto. |
AzureWebJobsSecretStorageType | files |
Nycklar sparas i filsystemet. Det här är standardbeteendet för Functions v1.x. |
AzureWebJobsSecretStorageType | keyvault |
Nycklar lagras i en key vault-instans som anges av AzureWebJobsSecretStorageKeyVaultName . |
AzureWebJobsSecretStorageType | kubernetes |
Stöds endast när du kör Functions-körmiljön i Kubernetes. När AzureWebJobsKubernetesSecretName inte har angetts betraktas lagringsplatsen som skrivskyddad. I det här fallet måste värdena genereras före distributionen. Azure Functions Core Tools genererar värdena automatiskt när de distribueras till Kubernetes. |
Mer information finns i Hantera nyckellagring.
AzureWebJobsStorage
Anger anslutningssträng för ett Azure Storage-konto som Functions-körningen använder för normala åtgärder. Vissa användningar av det här lagringskontot från Functions omfattar nyckelhantering, timerutlösarhantering och kontrollpunkter för händelsehubbar. Lagringskontot måste vara ett allmänt konto som stöder blobar, köer och tabeller. Mer information finns i Krav för lagringskonto.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsStorage | DefaultEndpointsProtocol=https;AccountName=... |
I stället för en anslutningssträng kan du använda en identitetsbaserad anslutning för det här lagringskontot. Mer information finns i Ansluta till värdlagring med en identitet.
AzureWebJobsStorage__accountName
När du använder en identitetsbaserad lagringsanslutning anger du kontonamnet för lagringskontot i stället för att använda anslutningssträng i AzureWebJobsStorage
. Den här syntaxen är unik för AzureWebJobsStorage
och kan inte användas för andra identitetsbaserade anslutningar.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsStorage__accountName | <STORAGE_ACCOUNT_NAME> |
För nationella moln eller när du använder en anpassad DNS måste du i stället använda de tjänstspecifika AzureWebJobsStorage__*ServiceUri
inställningarna.
AzureWebJobsStorage__blobServiceUri
När du använder en identitetsbaserad lagringsanslutning anger du dataplanets URI för blobtjänsten för lagringskontot.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsStorage__blobServiceUri | https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net |
Använd den här inställningen i stället för AzureWebJobsStorage__accountName
i nationella moln eller när du använder en anpassad DNS. Mer information finns i Ansluta till värdlagring med en identitet.
AzureWebJobsStorage__queueServiceUri
När du använder en identitetsbaserad lagringsanslutning anger du dataplanets URI för kötjänsten för lagringskontot.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsStorage__queueServiceUri | https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net |
Använd den här inställningen i stället för AzureWebJobsStorage__accountName
i nationella moln eller när du använder en anpassad DNS. Mer information finns i Ansluta till värdlagring med en identitet.
AzureWebJobsStorage__tableServiceUri
När du använder en identitetsbaserad lagringsanslutning anger du dataplans-URI för en tabelltjänst för lagringskontot.
Nyckel | Exempelvärde |
---|---|
AzureWebJobsStorage__tableServiceUri | https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net |
Använd den här inställningen i stället för AzureWebJobsStorage__accountName
i nationella moln eller när du använder en anpassad DNS. Mer information finns i Ansluta till värdlagring med en identitet.
AzureWebJobs_TypeScriptPath
Sökväg till kompilatorn som används för TypeScript. Gör att du kan åsidosätta standardvärdet om du behöver.
Nyckel | Exempelvärde |
---|---|
AzureWebJobs_TypeScriptPath | %HOME%\typescript |
DOCKER_REGISTRY_SERVER_PASSWORD
Anger lösenordet som används för att komma åt ett privat containerregister. Den här inställningen krävs bara när du distribuerar din containerbaserade funktionsapp från ett privat containerregister. Mer information finns i Miljövariabler och appinställningar i Azure App Service.
DOCKER_REGISTRY_SERVER_URL
Anger URL:en för ett privat containerregister. Den här inställningen krävs bara när du distribuerar din containerbaserade funktionsapp från ett privat containerregister. Mer information finns i Miljövariabler och appinställningar i Azure App Service.
DOCKER_REGISTRY_SERVER_USERNAME
Anger det konto som används för att komma åt ett privat containerregister. Den här inställningen krävs bara när du distribuerar din containerbaserade funktionsapp från ett privat containerregister. Mer information finns i Miljövariabler och appinställningar i Azure App Service.
DOCKER_SHM_SIZE
Anger den delade minnesstorleken (i byte) när Python-arbetaren använder delat minne. Mer information finns i Delat minne.
Nyckel | Exempelvärde |
---|---|
DOCKER_SHM_SIZE | 268435456 |
Värdet ovan anger en delad minnesstorlek på ~256 MB.
Kräver att FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
anges till 1
.
ENABLE_ORYX_BUILD
Anger om Oryx-byggsystemet används under distributionen. ENABLE_ORYX_BUILD
måste anges till true
när du gör fjärrversionsdistributioner till Linux. Mer information finns i Fjärrbygge.
Nyckel | Exempelvärde |
---|---|
ENABLE_ORYX_BUILD | true |
FUNCTION_APP_EDIT_MODE
Anger om du kan redigera funktionsappen i Azure Portal. Giltiga värden är readwrite
och readonly
.
Nyckel | Exempelvärde |
---|---|
FUNCTION_APP_EDIT_MODE | readonly |
Värdet anges av körningen baserat på språkstacken och distributionsstatusen för funktionsappen. Mer information finns i Utvecklingsbegränsningar i Azure Portal.
FUNCTIONS_EXTENSION_VERSION
Den version av Functions-körningen som är värd för din funktionsapp. En tilde (~
) med huvudversion innebär att du använder den senaste versionen av den huvudversionen (till exempel ~4
). När nya delversioner av samma huvudversion är tillgängliga installeras de automatiskt i funktionsappen.
Nyckel | Exempelvärde |
---|---|
FUNCTIONS_EXTENSION_VERSION | ~4 |
Följande huvudversionsvärden för körning stöds:
Värde | Körningsmål | Kommentar |
---|---|---|
~4 |
4.x | Rekommenderat |
~1 |
1.x | Support upphör 14 september 2026 |
Värdet ~4
innebär att appen körs på version 4.x av körningen. ~1
Värdet fäster appen på version 1.x av körningen. Körningsversionerna 2.x och 3.x stöds inte längre. Mer information finns i Översikt över Azure Functions-körningsversioner.
Om det begärs av supporten för att fästa appen på en viss delversion använder du det fullständiga versionsnumret (till exempel 4.0.12345
). Läs mer i informationen om att köra rätt körningsversioner av Azure Functions.
FUNCTIONS_INPROC_NET8_ENABLED
Anger om en app kan använda .NET 8 i den pågående modellen. Om du vill använda .NET 8 i den processbaserade modellen måste det här värdet vara inställt på 1
. Se Uppdatera till mål .NET 8 för fullständiga instruktioner, inklusive andra nödvändiga konfigurationsvärden.
Nyckel | Exempelvärde |
---|---|
FUNCTIONS_INPROC_NET8_ENABLED | 1 |
Ange till för att 0
inaktivera stöd för .NET 8 för den pågående modellen.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR
Den här appinställningen är ett tillfälligt sätt för Node.js appar att aktivera en icke-bakåtkompatibel ändring som gör det enklare att felsöka startpunkter på Node.js v18 eller lägre. Vi rekommenderar starkt att du använder true
, särskilt för programmeringsmodell v4-appar, som alltid använder startpunktsfiler. Beteendet utan den icke-bakåtkompatibla ändringen (false
) ignorerar startpunktsfel och loggar dem inte i Application Insights.
Från och med Node.js v20 har appinställningen ingen effekt och beteendet för icke-bakåtkompatibel ändring är alltid aktiverat.
För Node.js v18 eller lägre används appinställningen och standardbeteendet beror på om felet inträffar före eller efter att en modell v4-funktion har registrerats:
- Om felet utlöses tidigare (till exempel om du använder modell v3 eller om startpunktsfilen inte finns) matchar
false
standardbeteendet . - Om felet utlöses efter (till exempel om du försöker registrera duplicerade modell v4-funktioner) matchar
true
standardbeteendet .
Tangent | Värde | beskrivning |
---|---|---|
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | true |
Blockera startpunktsfel och logga dem i Application Insights. |
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | false |
Ignorera startpunktsfel och logga dem inte i Application Insights. |
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
Åsidosätter standardgränsen för brödtextstorleken för begäranden som skickas till HTTP-slutpunkter. Värdet anges i byte, med en maximal standardstorlek på 104857600 byte.
Nyckel | Exempelvärde |
---|---|
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT | 250000000 |
FUNCTIONS_V2_COMPATIBILITY_MODE
Viktigt!
Den här inställningen stöds inte längre. Den tillhandahölls ursprungligen för att möjliggöra en kortsiktig lösning för appar som riktade in sig på v2.x-körningen för att i stället kunna köras på v3.x-körningen medan den fortfarande stöddes. Förutom äldre appar som körs på version 1.x måste alla funktionsappar köras på version 4.x av Functions-körningen: FUNCTIONS_EXTENSION_VERSION=~4
. Mer information finns i Översikt över Azure Functions-körningsversioner.
FUNCTIONS_WORKER_PROCESS_COUNT
Anger det maximala antalet språkarbetsprocesser med standardvärdet 1
. Det högsta tillåtna värdet är 10
. Funktionsanrop fördelas jämnt mellan språkarbetsprocesser. Språkarbetsprocesser skapas var 10:e sekund tills antalet som anges av FUNCTIONS_WORKER_PROCESS_COUNT
har uppnåtts. Att använda flera språkarbetsprocesser är inte samma sak som skalning. Överväg att använda den här inställningen när din arbetsbelastning har en blandning av CPU-bundna och I/O-bundna anrop. Den här inställningen gäller för alla språkkörningar, förutom för .NET som körs i processen (FUNCTIONS_WORKER_RUNTIME=dotnet
).
Nyckel | Exempelvärde |
---|---|
FUNCTIONS_WORKER_PROCESS_COUNT | 2 |
FUNCTIONS_WORKER_RUNTIME
Språk- eller språkstacken för arbetskörningen som ska läsas in i funktionsappen. Detta motsvarar det språk som används i ditt program (till exempel python
). Från och med version 2.x av Azure Functions-körningen kan en viss funktionsapp bara stödja ett enda språk.
Nyckel | Exempelvärde |
---|---|
FUNCTIONS_WORKER_RUNTIME | node |
Giltiga värden:
Värde | Språk-/språkstack |
---|---|
dotnet |
C# (klassbibliotek) C# (skript) |
dotnet-isolated |
C# (isolerad arbetsprocess) |
java |
Java |
node |
JavaScript TypeScript |
powershell |
PowerShell |
python |
Python |
custom |
Övrigt |
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
Med den här inställningen kan Python-arbetaren använda delat minne för att förbättra dataflödet. Aktivera delat minne när python-funktionsappen stöter på flaskhalsar i minnet.
Nyckel | Exempelvärde |
---|---|
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED | 1 |
Med den här inställningen aktiverad kan du använda inställningen DOCKER_SHM_SIZE för att ange storleken på delat minne. Mer information finns i Delat minne.
JAVA_OPTS
Används för att anpassa den virtuella Java-datorn (JVM) som används för att köra dina Java-funktioner när du kör en Premium-plan eller dedikerad plan. När du kör en förbrukningsplan använder du languageWorkers__java__arguments
i stället . Mer information finns i Anpassa JVM.
languageWorkers__java__arguments
Används för att anpassa den virtuella Java-datorn (JVM) som används för att köra dina Java-funktioner när du kör en förbrukningsplan. Den här inställningen ökar de kalla starttiderna för Java-funktioner som körs i en förbrukningsplan. För en Premium- eller Dedikerad plan använder du JAVA_OPTS
i stället . Mer information finns i Anpassa JVM.
MDMaxBackgroundUpgradePeriod
Styr bakgrundsuppdateringsperioden för hanterade beroenden för PowerShell-funktionsappar med standardvärdet 7.00:00:00
(varje vecka).
Varje PowerShell-arbetsprocess initierar sökning efter moduluppgraderingar på PowerShell-galleriet vid processstart och därefterMDMaxBackgroundUpgradePeriod
. När en ny modulversion är tillgänglig i PowerShell-galleriet installeras den i filsystemet och görs tillgänglig för PowerShell-arbetare. Om du minskar det här värdet kan funktionsappen få nyare modulversioner tidigare, men det ökar även appresursanvändningen (nätverks-I/O, CPU, lagring). Om du ökar det här värdet minskar appens resursanvändning, men det kan också fördröja leveransen av nya modulversioner till din app.
Nyckel | Exempelvärde |
---|---|
MDMaxBackgroundUpgradePeriod | 7.00:00:00 |
Mer information finns i Beroendehantering.
MDNewSnapshotCheckPeriod
Anger hur ofta varje PowerShell-arbetare kontrollerar om hanterade beroendeuppgraderingar har installerats. Standardfrekvensen är 01:00:00
(varje timme).
När nya modulversioner har installerats i filsystemet måste varje PowerShell-arbetsprocess startas om. Omstart av PowerShell-arbetare påverkar appens tillgänglighet eftersom den kan avbryta den aktuella funktionskörningen. Tills alla PowerShell-arbetsprocesser startas om kan funktionsanrop använda antingen de gamla eller de nya modulversionerna. Omstart av alla PowerShell-arbetare slutförs inom MDNewSnapshotCheckPeriod
.
Inom varje MDNewSnapshotCheckPeriod
kontrollerar PowerShell-arbetaren om hanterade beroendeuppgraderingar har installerats eller inte. När uppgraderingar har installerats initieras en omstart. Om du ökar det här värdet minskar avbrottsfrekvensen på grund av omstarter. Ökningen kan dock också öka den tid under vilken funktionsanrop kan använda antingen de gamla eller de nya modulversionerna, inte obestämt.
Nyckel | Exempelvärde |
---|---|
MDNewSnapshotCheckPeriod | 01:00:00 |
Mer information finns i Beroendehantering.
MDMinBackgroundUpgradePeriod
Tidsperioden efter en tidigare kontrollerad uppgradering av hanterade beroenden innan en ny uppgraderingskontroll startas, med standardvärdet 1.00:00:00
(dagligen).
För att undvika överdrivna moduluppgraderingar vid frekventa arbetsomstarter utförs inte sökning efter moduluppgraderingar när någon arbetare redan har initierat kontrollen under den senaste MDMinBackgroundUpgradePeriod
.
Nyckel | Exempelvärde |
---|---|
MDMinBackgroundUpgradePeriod | 1.00:00:00 |
Mer information finns i Beroendehantering.
PIP_INDEX_URL
Med den här inställningen kan du åsidosätta bas-URL:en för Python-paketindexet, som som standard är https://pypi.org/simple
. Använd den här inställningen när du behöver köra en fjärrversion med hjälp av anpassade beroenden. Dessa anpassade beroenden kan finnas i en paketindexlagringsplats som är kompatibel med PEP 503 (det enkla lagringslagrings-API:et) eller i en lokal katalog som följer samma format.
Nyckel | Exempelvärde |
---|---|
PIP_INDEX_URL | http://my.custom.package.repo/simple |
Mer information finns pip
i dokumentationen för --index-url
och användning av anpassade beroenden i Python-utvecklarreferensen.
PIP_EXTRA_INDEX_URL
Värdet för den här inställningen anger en extra index-URL för anpassade paket för Python-appar som ska användas utöver --index-url
. Använd den här inställningen när du behöver köra en fjärrversion med hjälp av anpassade beroenden som finns i ett extra paketindex. Bör följa samma regler som --index-url
.
Nyckel | Exempelvärde |
---|---|
PIP_EXTRA_INDEX_URL | http://my.custom.package.repo/simple |
Mer information finns pip
i dokumentationen för --extra-index-url
och anpassade beroenden i Python-utvecklarreferensen.
PROJEKT
En inställning för kontinuerlig distribution som talar om för Kudu-distributionstjänsten att mappen på en ansluten lagringsplats ska placera det distribuerade projektet.
Nyckel | Exempelvärde |
---|---|
PROJEKT | WebProject/WebProject.csproj |
PYTHON_ISOLATE_WORKER_DEPENDENCIES
Konfigurationen är specifik för Python-funktionsappar. Den definierar prioriteringen av modulinläsningsordningen. Som standard är det här värdet inställt på 0
.
Tangent | Värde | beskrivning |
---|---|---|
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 0 |
Prioritera inläsning av Python-biblioteken från den interna Python-arbetarens beroenden, vilket är standardbeteendet. Bibliotek från tredje part som definierats i requirements.txt kan skuggas. |
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 1 |
Prioritera inläsning av Python-bibliotek från programmets paket som definierats i requirements.txt. Detta förhindrar att dina bibliotek kolliderar med interna Python Worker-bibliotek. |
PYTHON_ENABLE_DEBUG_LOGGING
Aktiverar loggning på felsökningsnivå i en Python-funktionsapp. Ett värde för 1
aktiverar loggning på felsökningsnivå. Utan den här inställningen eller med värdet 0
skickas endast information och loggar på högre nivå från Python-arbetaren till Functions-värden. Använd den här inställningen när du felsöker eller spårar python-funktionskörningar.
När du felsöker Python-funktioner måste du även ange en felsöknings- eller spårningsloggningsnivå i host.json-filen efter behov. Mer information finns i Konfigurera övervakning för Azure Functions.
PYTHON_ENABLE_WORKER_EXTENSIONS
Konfigurationen är specifik för Python-funktionsappar. Om du anger detta till 1
kan arbetaren läsa in i Python-arbetstillägg som definierats i requirements.txt. Det gör att din funktionsapp kan komma åt nya funktioner som tillhandahålls av paket från tredje part. Det kan också ändra beteendet för funktionsbelastning och anrop i din app. Se till att det tillägg du väljer är tillförlitligt eftersom du riskerar att använda det. Azure Functions ger inga uttryckliga garantier till några tillägg. Om du vill använda ett tillägg går du till tilläggets manuella sida eller readme-dokument. Som standard anges det här värdet till 0
.
Tangent | Värde | beskrivning |
---|---|---|
PYTHON_ENABLE_WORKER_EXTENSIONS | 0 |
Inaktivera alla Python-arbetstillägg. |
PYTHON_ENABLE_WORKER_EXTENSIONS | 1 |
Tillåt Python Worker att läsa in tillägg från requirements.txt. |
PYTHON_THREADPOOL_THREAD_COUNT
Anger det maximala antalet trådar som en Python-språkarbetare skulle använda för att köra funktionsanrop, med standardvärdet 1
För Python-version 3.8
och nedan. För Python-versionen 3.9
och senare är värdet inställt på None
. Den här inställningen garanterar inte det antal trådar som skulle anges under körningar. Med inställningen kan Python utöka antalet trådar till det angivna värdet. Inställningen gäller endast för Python-funktionsappar. Dessutom gäller inställningen synkrona funktionsanrop och inte för coroutines.
Nyckel | Exempelvärde | Maxvärde |
---|---|---|
PYTHON_THREADPOOL_THREAD_COUNT | 2 | 32 |
SCALE_CONTROLLER_LOGGING_ENABLED
Den här inställningen är för närvarande i förhandsversion.
Den här inställningen styr loggning från Azure Functions-skalningskontrollanten. Mer information finns i Skala kontrollantloggar.
Nyckel | Exempelvärde |
---|---|
SCALE_CONTROLLER_LOGGING_ENABLED | AppInsights:Verbose |
Värdet för den här nyckeln anges i formatet <DESTINATION>:<VERBOSITY>
, som definieras enligt följande:
Property | beskrivning |
---|---|
<DESTINATION> |
Målet som loggarna skickas till. Giltiga värden är AppInsights och Blob .När du använder AppInsights kontrollerar du att Application Insights är aktiverat i funktionsappen.När du anger målet till Blob skapas loggar i en blobcontainer med namnet azure-functions-scale-controller i standardlagringskontot som anges i programinställningen AzureWebJobsStorage . |
<VERBOSITY> |
Anger loggningsnivån. Värden som stöds är None , Warning och Verbose .När värdet är inställt Verbose på loggar skalningskontrollanten en orsak till varje ändring i antalet arbetare och information om utlösarna som påverkar dessa beslut. Utförliga loggar inkluderar utlösarvarningar och hashvärden som används av utlösarna före och efter att skalningskontrollanten körs. |
Dricks
Tänk på att även om du låter skalningskontrollantloggning vara aktiverad påverkar det de potentiella kostnaderna för att övervaka din funktionsapp. Överväg att aktivera loggning tills du har samlat in tillräckligt med data för att förstå hur skalningskontrollanten beter sig och sedan inaktivera den.
SCM_DO_BUILD_DURING_DEPLOYMENT
Styr beteendet för fjärrbygge under distributionen. När SCM_DO_BUILD_DURING_DEPLOYMENT
är inställt på true
skapas projektet via fjärranslutning under distributionen.
Nyckel | Exempelvärde |
---|---|
SCM_DO_BUILD_DURING_DEPLOYMENT | true |
SCM_LOGSTREAM_TIMEOUT
Styr tidsgränsen, i sekunder, när den är ansluten till strömmande loggar. Standardvärdet är 7200 (2 timmar).
Nyckel | Exempelvärde |
---|---|
SCM_LOGSTREAM_TIMEOUT | 1800 |
Ovanstående exempelvärde 1800
för anger en tidsgräns på 30 minuter. Mer information finns i Aktivera körningsloggar för direktuppspelning i Azure Functions.
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Anslutningssträng för lagringskonto där funktionsappens kod och konfiguration lagras i händelsedrivna skalningsplaner. Mer information finns i Inställningen för lagringskontoanslutning.
Nyckel | Exempelvärde |
---|---|
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=... |
Den här inställningen krävs för förbruknings- och Elastic Premium-abonnemangsappar som körs i både Windows och Linux. Det krävs inte för dedikerade planappar, som inte skalas dynamiskt av Functions.
Om du ändrar eller tar bort den här inställningen kan funktionsappen inte startas. Mer information finns i den här felsökningsartikeln.
Azure Files stöder inte användning av hanterad identitet vid åtkomst till filresursen. Mer information finns i autentiseringsscenarier som stöds av Azure Files.
WEBSITE_CONTENTOVERVNET
Viktigt!
WEBSITE_CONTENTOVERVNET är en äldre appinställning som har ersatts av webbplatsegenskapen vnetContentShareEnabled .
Ett värde för 1
gör att funktionsappen kan skalas när du har ditt lagringskonto begränsat till ett virtuellt nätverk. Du bör aktivera den här inställningen när du begränsar ditt lagringskonto till ett virtuellt nätverk. Krävs endast när du använder WEBSITE_CONTENTSHARE
och WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Mer information finns i Begränsa ditt lagringskonto till ett virtuellt nätverk.
Nyckel | Exempelvärde |
---|---|
WEBSITE_CONTENTOVERVNET | 1 |
Den här appinställningen krävs för Elastic Premium - och Dedicated-abonnemangen (App Service) (Standard och högre). Stöds inte när du kör en förbrukningsplan.
Kommentar
Du måste vara särskilt försiktig när du dirigerar till innehållsresursen i ett lagringskonto som delas av flera funktionsappar i samma plan. Mer information finns i Artikeln Om konsekvent routning via virtuella nätverk i artikeln Om lagringsöverväganden.
WEBSITE_CONTENTSHARE
Namnet på filresursen som Functions använder för att lagra funktionsappens kod och konfigurationsfiler. Det här innehållet krävs av händelsedrivna skalningsplaner. Används med WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Standard är en unik sträng som genereras av körningen, som börjar med funktionsappens namn. Mer information finns i Inställningen för lagringskontoanslutning.
Nyckel | Exempelvärde |
---|---|
WEBSITE_CONTENTSHARE | functionapp091999e2 |
Den här inställningen krävs för förbruknings- och Premium-planappar i både Windows och Linux. Det krävs inte för dedikerade planappar, som inte skalas dynamiskt av Functions.
Resursen skapas när funktionsappen skapas. Om du ändrar eller tar bort den här inställningen kan funktionsappen inte startas. Mer information finns i den här felsökningsartikeln.
Följande överväganden gäller när du använder en ARM-mall (Azure Resource Manager) eller en Bicep-fil för att skapa en funktionsapp under distributionen:
- När du inte anger något
WEBSITE_CONTENTSHARE
värde för huvudfunktionsappen eller appar i fack genereras unika resursvärden åt dig. Att inte angeWEBSITE_CONTENTSHARE
är den rekommenderade metoden för distribution av ARM-mallar. - Det finns scenarier där du måste ange
WEBSITE_CONTENTSHARE
värdet till ett fördefinierat värde, till exempel när du använder ett skyddat lagringskonto i ett virtuellt nätverk. I det här fallet måste du ange ett unikt resursnamn för huvudfunktionsappen och appen för varje distributionsfack. När det gäller ett lagringskonto som skyddas av ett virtuellt nätverk måste du också skapa själva resursen som en del av den automatiserade distributionen. Mer information finns i Säkra distributioner. - Gör ingen
WEBSITE_CONTENTSHARE
platsinställning. - När du anger
WEBSITE_CONTENTSHARE
måste värdet följa den här vägledningen för resursnamn.
WEBSITE_DNS_SERVER
Anger den DNS-server som används av en app vid matchning av IP-adresser. Den här inställningen krävs ofta när du använder vissa nätverksfunktioner, till exempel privata Azure DNS-zoner och privata slutpunkter.
Nyckel | Exempelvärde |
---|---|
WEBSITE_DNS_SERVER | 168.63.129.16 |
WEBSITE_ENABLE_BROTLI_ENCODING
Styr om Brotli-kodning används för komprimering i stället för standard-gzip-komprimering. När WEBSITE_ENABLE_BROTLI_ENCODING
är inställt på 1
används Brotli-kodning. Annars används gzip-kodning.
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED
Inaktiverar cachelagring när funktionsappar distribueras med hjälp av ARM-mallar (Azure Resource Manager).
Nyckel | Exempelvärde |
---|---|
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED | 0 |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
Det maximala antalet instanser som appen kan skala ut till. Standardvärdet är ingen gräns.
Viktigt!
Den här inställningen är i förhandsversion. En appegenskap för maximal utskalning av funktioner har lagts till och är det rekommenderade sättet att begränsa utskalningen.
Nyckel | Exempelvärde |
---|---|
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT | 5 |
WEBSITE_NODE_DEFAULT_VERSION
Endast Windows.
Anger vilken version av Node.js som ska användas när du kör funktionsappen i Windows. Du bör använda en tilde (~) för att få körningen att använda den senaste tillgängliga versionen av den aktuella huvudversionen. När den är inställd på används till ~18
exempel den senaste versionen av Node.js 18. När en huvudversion är riktad mot en tilde behöver du inte uppdatera delversionen manuellt.
Nyckel | Exempelvärde |
---|---|
WEBSITE_NODE_DEFAULT_VERSION | ~18 |
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
När du utför ett fackbyte på en funktionsapp som körs på en Premium-plan kan växlingen misslyckas när det dedikerade lagringskonto som används av appen är nätverksbegränsat. Det här felet orsakas av en äldre programloggningsfunktion som delas av både Functions och App Service. Den här inställningen åsidosätter den äldre loggningsfunktionen och tillåter växlingen.
Nyckel | Exempelvärde |
---|---|
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS | 0 |
Lägg till WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
med värdet 0
för till alla platser för att se till att äldre diagnostikinställningar inte blockerar dina växlingar. Du kan också lägga till den här inställningen och värdet till bara produktionsplatsen som en inställning för distributionsfack (klibbig).
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS
Som standard är versionsinställningarna för funktionsappar specifika för varje fack. Den här inställningen används när du uppgraderar funktioner med hjälp av distributionsfack. Detta förhindrar oväntat beteende på grund av ändrade versioner efter ett byte. Ange till 0
i produktion och i facket för att se till att alla versionsinställningar också växlas. Mer information finns i Uppgradera med fack.
Nyckel | Exempelvärde |
---|---|
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS | 0 |
WEBSITE_RUN_FROM_PACKAGE
Gör att funktionsappen kan köras från en paketfil som kan monteras lokalt eller distribueras till en extern URL.
Nyckel | Exempelvärde |
---|---|
WEBSITE_RUN_FROM_PACKAGE | 1 |
Giltiga värden är antingen en URL som matchar platsen för en extern distributionspaketfil eller 1
. När det är inställt 1
på måste paketet finnas i d:\home\data\SitePackages
mappen. När du använder zip-distribution med WEBSITE_RUN_FROM_PACKAGE
aktiverat laddas paketet upp automatiskt till den här platsen. I förhandsversionen fick den här inställningen namnet WEBSITE_RUN_FROM_ZIP
. Mer information finns i Kör dina funktioner från en paketfil.
När du distribuerar från en extern paket-URL måste du även synkronisera utlösare manuellt. Mer information finns i Utlösarsynkronisering.
WEBSITE_SKIP_CONTENTSHARE_VALIDATION
Inställningarna WEBSITE_CONTENTAZUREFILECONNECTIONSTRING och WEBSITE_CONTENTSHARE har extra verifieringskontroller för att säkerställa att appen kan startas korrekt. Det går inte att skapa programinställningar när funktionsappen inte kan anropa det underordnade lagringskontot eller Nyckelvalvet på grund av nätverksbegränsningar eller andra begränsande faktorer. När WEBSITE_SKIP_CONTENTSHARE_VALIDATION har angetts till 1
hoppas verifieringskontrollen över. Annars sker värdet som standard 0
och verifieringen utförs.
Nyckel | Exempelvärde |
---|---|
WEBSITE_SKIP_CONTENTSHARE_VALIDATION | 1 |
Om valideringen hoppas över och antingen anslutningssträng eller innehållsresursen inte är giltig kan appen inte starta korrekt. I det här fallet returnerar funktioner HTTP 500-fel. Mer information finns i Felsöka fel: "Azure Functions Runtime kan inte nås"
WEBSITE_SLOT_NAME
Skrivskyddat. Namnet på det aktuella distributionsfacket. Namnet på produktionsplatsen är Production
.
Nyckel | Exempelvärde |
---|---|
WEBSITE_SLOT_NAME | Production |
WEBSITE_TIME_ZONE
Gör att du kan ange tidszonen för funktionsappen.
Nyckel | OS | Exempelvärde |
---|---|---|
WEBSITE_TIME_ZONE | Windows | Eastern Standard Time |
WEBSITE_TIME_ZONE | Linux | America/New_York |
Standardtidszonen som används med CRON-uttrycken är Coordinated Universal Time (UTC). Om du vill att CRON-uttrycket ska baseras på en annan tidszon skapar du en appinställning för funktionsappen med namnet WEBSITE_TIME_ZONE
.
Värdet för den här inställningen beror på vilket operativsystem och vilken plan funktionsappen körs på.
Operativsystem | Planera | Värde |
---|---|---|
Windows | Alla | Ange värdet till namnet på önskad tidszon enligt den andra raden från varje par som anges av Windows-kommandot tzutil.exe /L |
Linux | Premium Dedikerad |
Ange värdet till namnet på den önskade tidszonen enligt tz-databasen. |
Kommentar
WEBSITE_TIME_ZONE
och TZ
stöds inte för närvarande när de körs på Linux i en förbrukningsplan. I det här fallet kan du ange WEBSITE_TIME_ZONE
eller TZ
skapa SSL-relaterade problem och få mått att sluta fungera för din app.
Till exempel använder Eastern Time i USA (representeras av Eastern Standard Time
(Windows) eller America/New_York
(Linux)) för närvarande UTC-05:00 under standardtiden och UTC-04:00 under sommartid. Om du vill att en timerutlösare ska utlösas klockan 10:00 östlig tid varje dag skapar du en appinställning för funktionsappen med namnet WEBSITE_TIME_ZONE
, anger värdet till Eastern Standard Time
(Windows) eller America/New_York
(Linux) och använder sedan följande NCRONTAB-uttryck:
"0 0 10 * * *"
När du använder WEBSITE_TIME_ZONE
tiden justeras för tidsändringar i den specifika tidszonen, inklusive sommartid och ändringar i standardtiden.
WEBSITE_USE_PLACEHOLDER
Anger om du vill använda en specifik kallstartsoptimering när du kör förbrukningsplanen. Ange till för att 0
inaktivera kallstartsoptimeringen i förbrukningsplanen.
Nyckel | Exempelvärde |
---|---|
WEBSITE_USE_PLACEHOLDER | 1 |
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED
Anger om du vill använda en specifik kallstartsoptimering när du kör .NET-isolerade arbetsprocessfunktioner i förbrukningsplanen. Ange till för att 0
inaktivera kallstartsoptimeringen i förbrukningsplanen.
Nyckel | Exempelvärde |
---|---|
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED | 1 |
WEBSITE_VNET_ROUTE_ALL
Viktigt!
WEBSITE_VNET_ROUTE_ALL är en äldre appinställning som har ersatts av webbplatsinställningen vnetRouteAllEnabled .
Anger om all utgående trafik från appen dirigeras via det virtuella nätverket. Ett inställningsvärde 1
för anger att all programtrafik dirigeras via det virtuella nätverket. Du behöver den här inställningen när du konfigurerar integrering av regionala virtuella nätverk i elastic Premium- och dedikerade värdplaner. Den används också när en NAT-gateway för virtuellt nätverk används för att definiera en statisk utgående IP-adress.
Nyckel | Exempelvärde |
---|---|
WEBSITE_VNET_ROUTE_ALL | 1 |
WEBSITES_ENABLE_APP_SERVICE_STORAGE
Anger om /home
katalogen delas mellan skalbara instanser med standardvärdet true
. Du bör ange detta till false
när du distribuerar funktionsappen i en container.
Inställningar för App Service-webbplats
Vissa konfigurationer måste underhållas på App Service-nivå som platsinställningar, till exempel språkversioner. De här inställningarna hanteras i portalen, med hjälp av REST-API:er eller med hjälp av Azure CLI eller Azure PowerShell. Följande är webbplatsinställningar som kan krävas, beroende på ditt körningsspråk, operativsystem och versioner:
alwaysOn
I en funktionsapp som körs i en dedikerad (App Service)-plan aktiveras funktionskörningen efter några minuters inaktivitet, vilket gör att endast begäranden till en HTTP-utlösare aktiverar funktionsappen. För att se till att dina icke-HTTP-utlösta funktioner körs korrekt, inklusive Timer-utlösarfunktioner, aktiverar du AlwaysOn för funktionsappen genom att ange platsinställningen alwaysOn
till värdet true
.
functionsRuntimeAdminIsolationEnabled
Avgör om de inbyggda administratörsslutpunkterna (/admin
) i funktionsappen kan nås. När den är inställd på false
(standard) tillåter appen begäranden till slutpunkter under /admin
när dessa begäranden visar en huvudnyckel i begäran. När true
kan /admin
slutpunkter inte nås, även med en huvudnyckel.
Den här egenskapen kan inte anges för appar som körs på Linux Consumption SKU, och den kan inte anges för appar som körs på version 1.x av Azure Functions. Om du använder version 1.x måste du först migrera till version 4.x.
linuxFxVersion
För funktionsappar som körs på Linux anger linuxFxVersion
språket och versionen för den språkspecifika arbetsprocessen. Den här informationen används tillsammans med FUNCTIONS_EXTENSION_VERSION
för att avgöra vilken specifik Linux-containeravbildning som är installerad för att köra funktionsappen. Den här inställningen kan anges till ett fördefinierat värde eller en anpassad bild-URI.
Det här värdet anges för dig när du skapar din Linux-funktionsapp. Du kan behöva ange den för ARM-mall och Bicep-distributioner och i vissa uppgraderingsscenarier.
Giltiga linuxFxVersion-värden
Du kan använda följande Azure CLI-kommando för att se en tabell med aktuella linuxFxVersion
värden, med funktionskörningsversion som stöds:
az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table
Föregående kommando kräver att du uppgraderar till version 2.40 av Azure CLI.
Anpassade avbildningar
När du skapar och underhåller en egen anpassad Linux-container för funktionsappen linuxFxVersion
är värdet i stället i formatet DOCKER|<IMAGE_URI>
, som i följande exempel:
linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"
Detta anger registerkällan för den distribuerade containern. Mer information finns i Arbeta med containrar och Azure Functions.
Viktigt!
När du skapar egna containrar måste du hålla basavbildningen av containern uppdaterad till den senaste basavbildningen som stöds. Basavbildningar som stöds för Azure Functions är språkspecifika och finns i basavbildningslagringarna för Azure Functions.
Functions-teamet har åtagit sig att publicera månatliga uppdateringar för dessa basavbildningar. Regelbundna uppdateringar omfattar de senaste delversionsuppdateringarna och säkerhetskorrigeringarna för både Functions-körningen och språken. Du bör regelbundet uppdatera containern från den senaste basavbildningen och distribuera om den uppdaterade versionen av containern.
netFrameworkVersion
Anger den specifika versionen av .NET för C#-funktioner. Mer information finns i Uppdatera funktionsappen i Azure.
powerShellVersion
Anger den specifika version av PowerShell som dina funktioner körs på. Mer information finns i Ändra PowerShell-versionen.
När du kör lokalt använder FUNCTIONS_WORKER_RUNTIME_VERSION
du i stället inställningen i filen local.settings.json.
vnetContentShareEnabled
Appar som körs i en Premium-plan använder en filresurs för att lagra innehåll. Namnet på den här innehållsresursen lagras i appinställningen WEBSITE_CONTENTSHARE
och dess anslutningssträng lagras i WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Om du vill dirigera trafik mellan funktionsappen och innehållsresursen via ett virtuellt nätverk måste du också ange vnetContentShareEnabled
till true
. Att aktivera den här webbplatsegenskapen är ett krav när du begränsar ditt lagringskonto till ett virtuellt nätverk i elastic premium- och dedikerade värdplaner.
Kommentar
Du måste vara särskilt försiktig när du dirigerar till innehållsresursen i ett lagringskonto som delas av flera funktionsappar i samma plan. Mer information finns i Artikeln Om konsekvent routning via virtuella nätverk i artikeln Om lagringsöverväganden.
Den här webbplatsegenskapen ersätter den äldre WEBSITE_CONTENTOVERVNET
inställningen.
vnetImagePullEnabled
Functions stöder funktionsappar som körs i Linux-containrar. Om du vill ansluta och hämta från ett containerregister i ett virtuellt nätverk måste du ange vnetImagePullEnabled
till true
. Den här webbplatsegenskapen stöds i elastic premium- och dedikerade värdplaner. Flex Consumption-planen förlitar sig inte på platsegenskaper eller appinställningar för att konfigurera nätverk. Mer information finns i Utfasningar av flexförbrukningsplan.
vnetRouteAllEnabled
Anger om all utgående trafik från appen dirigeras via det virtuella nätverket. Ett inställningsvärde true
för anger att all programtrafik dirigeras via det virtuella nätverket. Använd den här inställningen när du konfigurerar regional integrering av virtuella nätverk i Elastic Premium- och Dedicated-abonnemangen. Den används också när en NAT-gateway för virtuellt nätverk används för att definiera en statisk utgående IP-adress. Mer information finns i Konfigurera programroutning.
Den här webbplatsinställningen ersätter den äldre inställningen WEBSITE_VNET_ROUTE_ALL .
Utfasningar av flexförbrukningsplan
I Flex Consumption-planen är dessa webbplatsegenskaper och programinställningar inaktuella och bör inte användas när du skapar funktionsappresurser:
Inställning/egenskap | Anledning |
---|---|
ENABLE_ORYX_BUILD |
Ersatt av parametern remoteBuild vid distribution i Flex Consumption |
FUNCTIONS_EXTENSION_VERSION |
Appinställningen anges av serverdelen. Ett värde på ~1 kan ignoreras. |
FUNCTIONS_WORKER_RUNTIME |
Ersatt av name i properties.functionAppConfig.runtime |
FUNCTIONS_WORKER_RUNTIME_VERSION |
Ersatt av version i properties.functionAppConfig.runtime |
FUNCTIONS_MAX_HTTP_CONCURRENCY |
Ersatt av avsnittet för skalning och samtidighetsutlösare |
FUNCTIONS_WORKER_PROCESS_COUNT |
Ogiltig inställning |
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED |
Ogiltig inställning |
SCM_DO_BUILD_DURING_DEPLOYMENT |
Ersatt av parametern remoteBuild vid distribution i Flex Consumption |
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING |
Ersatt av funktionAppConfigs distributionsavsnitt |
WEBSITE_CONTENTOVERVNET |
Används inte för nätverk i Flex-förbrukning |
WEBSITE_CONTENTSHARE |
Ersatt av funktionAppConfigs distributionsavsnitt |
WEBSITE_DNS_SERVER |
DNS ärvs från det integrerade virtuella nätverket i Flex |
WEBSITE_NODE_DEFAULT_VERSION |
Ersatt av version i properties.functionAppConfig.runtime |
WEBSITE_RUN_FROM_PACKAGE |
Används inte för distributioner i Flex Consumption |
WEBSITE_SKIP_CONTENTSHARE_VALIDATION |
Innehållsresursen används inte i Flex-förbrukning |
WEBSITE_VNET_ROUTE_ALL |
Används inte för nätverk i Flex-förbrukning |
properties.alwaysOn |
Inte giltigt |
properties.containerSize |
Har bytt namn instanceMemoryMB |
properties.ftpsState |
FTPS stöds inte |
properties.isReserved |
Inte giltigt |
properties.IsXenon |
Inte giltigt |
properties.javaVersion |
Ersatt av version i properties.functionAppConfig.runtime |
properties.LinuxFxVersion |
Ersatt av properties.functionAppConfig.runtime |
properties.netFrameworkVersion |
Ersatt av version i properties.functionAppConfig.runtime |
properties.powerShellVersion |
Ersatt av version i properties.functionAppConfig.runtime |
properties.siteConfig.functionAppScaleLimit |
Har bytt namn maximumInstanceCount |
properties.siteConfig.preWarmedInstanceCount |
Har bytt namn alwaysReadyInstances |
properties.use32BitWorkerProcess |
32-bitars stöds inte |
properties.vnetBackupRestoreEnabled |
Används inte för nätverk i Flex-förbrukning |
properties.vnetContentShareEnabled |
Används inte för nätverk i Flex-förbrukning |
properties.vnetImagePullEnabled |
Används inte för nätverk i Flex-förbrukning |
properties.vnetRouteAllEnabled |
Används inte för nätverk i Flex-förbrukning |
properties.windowsFxVersion |
Inte giltigt |
Nästa steg
Lär dig hur du uppdaterar appinställningar