host.json-referens för Azure Functions 2.x och senare

Den host.json metadatafilen innehåller konfigurationsalternativ som påverkar alla funktioner i en funktionsappinstans. I den här artikeln visas de inställningar som är tillgängliga från och med version 2.x av Azure Functions-körningen.

Kommentar

Den här artikeln gäller för Azure Functions 2.x och senare versioner. En referens för host.json i Functions 1.x finns i host.json referens för Azure Functions 1.x.

Andra konfigurationsalternativ för funktionsappar hanteras beroende på var funktionsappen körs:

Konfigurationer i host.json relaterade till bindningar tillämpas lika på varje funktion i funktionsappen.

Du kan också åsidosätta eller tillämpa inställningar per miljö med hjälp av programinställningar.

Exempel på host.json fil

Följande exempel host.json fil för version 2.x+ har alla möjliga alternativ angivna (exklusive alla som endast är för internt bruk).

{
    "version": "2.0",
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "concurrency": { 
            "dynamicConcurrencyEnabled": true, 
            "snapshotPersistenceEnabled": true 
        },
    "extensions": {
        "blobs": {},
        "cosmosDb": {},
        "durableTask": {},
        "eventHubs": {},
        "http": {},
        "queues": {},
        "sendGrid": {},
        "serviceBus": {}
    },
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "logging": {
        "fileLoggingMode": "debugOnly",
        "logLevel": {
          "Function.MyFunction": "Information",
          "default": "None"
        },
        "applicationInsights": {
            "samplingSettings": {
              "isEnabled": true,
              "maxTelemetryItemsPerSecond" : 20,
              "evaluationInterval": "01:00:00",
              "initialSamplingPercentage": 100.0, 
              "samplingPercentageIncreaseTimeout" : "00:00:01",
              "samplingPercentageDecreaseTimeout" : "00:00:01",
              "minSamplingPercentage": 0.1,
              "maxSamplingPercentage": 100.0,
              "movingAverageRatio": 1.0,
              "excludedTypes" : "Dependency;Event",
              "includedTypes" : "PageView;Trace"
            },
            "dependencyTrackingOptions": {
                "enableSqlCommandTextInstrumentation": true
            },
            "enableLiveMetrics": true,
            "enableDependencyTracking": true,
            "enablePerformanceCountersCollection": true,            
            "httpAutoCollectionOptions": {
                "enableHttpTriggerExtendedInfoCollection": true,
                "enableW3CDistributedTracing": true,
                "enableResponseHeaderInjection": true
            },
            "snapshotConfiguration": {
                "agentEndpoint": null,
                "captureSnapshotMemoryWeight": 0.5,
                "failedRequestLimit": 3,
                "handleUntrackedExceptions": true,
                "isEnabled": true,
                "isEnabledInDeveloperMode": false,
                "isEnabledWhenProfiling": true,
                "isExceptionSnappointsEnabled": false,
                "isLowPrioritySnapshotUploader": true,
                "maximumCollectionPlanSize": 50,
                "maximumSnapshotsRequired": 3,
                "problemCounterResetInterval": "24:00:00",
                "provideAnonymousTelemetry": true,
                "reconnectInterval": "00:15:00",
                "shadowCopyFolder": null,
                "shareUploaderProcess": true,
                "snapshotInLowPriorityThread": true,
                "snapshotsPerDayLimit": 30,
                "snapshotsPerTenMinutesLimit": 1,
                "tempFolder": null,
                "thresholdForSnapshotting": 1,
                "uploaderProxy": null
            }
        }
    },
    "managedDependency": {
        "enabled": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "watchDirectories": [ "Shared", "Test" ],
    "watchFiles": [ "myFile.txt" ]
}

I följande avsnitt i den här artikeln förklaras varje toppnivåegenskap. Alla är valfria om inget annat anges.

Nyhetsläsare

Anger hur många funktionsanrop som aggregeras vid beräkning av mått för Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Property Standardvärde beskrivning
batchSize 1000 Maximalt antal begäranden att aggregera.
flushTimeout 00:00:30 Maximal tidsperiod att aggregera.

Funktionsanrop aggregeras när den första av de två gränserna nås.

applicationInsights

Den här inställningen är underordnad loggning.

Styr alternativ för Application Insights, inklusive samplingsalternativ.

Den fullständiga JSON-strukturen finns i det tidigare exemplet host.json fil.

Kommentar

Loggsampling kan göra att vissa körningar inte visas på Monitor-bladet i Application Insights. Lägg till excludedTypes: "Request" värdet för samplingSettings att undvika loggsampling.

Property Standardvärde beskrivning
sampling Inställningar saknas Se applicationInsights.sampling Inställningar.
dependencyTrackingOptions saknas Se applicationInsights.dependencyTrackingOptions.
enableLiveMetrics true Aktiverar insamling av livemått.
enableDependencyTracking true Aktiverar beroendespårning.
enablePerformanceCountersCollection true Aktiverar Insamling av Kudu-prestandaräknare.
liveMetricsInitializationDelay 00:00:15 Enbart för internt bruk.
httpAutoCollectionOptions saknas Se applicationInsights.httpAutoCollectionOptions.
snapshotConfiguration saknas Se applicationInsights.snapshotConfiguration.

applicationInsights.sampling Inställningar

Mer information om de här inställningarna finns i Sampling i Application Insights.

Property Standardvärde beskrivning
isEnabled true Aktiverar eller inaktiverar sampling.
maxTelemetryItemsPerSecond 20 Målantalet telemetriobjekt som loggas per sekund på varje servervärd. Om din app körs på många värdar kan du minska det här värdet så att det ligger kvar inom den totala målfrekvensen för trafik.
evaluationInterval 01:00:00 Det intervall med vilket den aktuella telemetrihastigheten omvärderas. Utvärderingen utförs som ett glidande medelvärde. Du kanske vill förkorta det här intervallet om telemetrin kan leda till plötsliga toppar.
initialSamplingPercentage 100,0 Den första samplingsprocenten som tillämpades i början av samplingsprocessen för att dynamiskt variera procentandelen. Minska inte värdet när du felsöker.
samplingPercentageIncreaseTimeout 00:00:01 När samplingsprocentvärdet ändras avgör den här egenskapen hur snart Application Insights får öka samplingsprocenten igen för att samla in mer data.
samplingPercentageDecreaseTimeout 00:00:01 När samplingsprocentvärdet ändras avgör den här egenskapen hur snart Application Insights får sänka samplingsprocenten igen för att samla in mindre data.
minSamplingPercentage 0,1 Eftersom samplingsprocenten varierar avgör den här egenskapen den lägsta tillåtna samplingsprocenten.
maxSamplingPercentage 100,0 Eftersom samplingsprocenten varierar avgör den här egenskapen den högsta tillåtna samplingsprocenten.
movingAverageRatio 1.0 I beräkningen av glidande medelvärde, den vikt som tilldelats det senaste värdet. Använd ett värde som är lika med eller mindre än 1. Mindre värden gör algoritmen mindre reaktiv för plötsliga ändringar.
excludedTypes NULL En semikolonavgränsad lista över typer som du inte vill ska samplas. Identifierade typer är: Dependency, Event, Exception, PageView, Requestoch Trace. Alla instanser av de angivna typerna överförs. de typer som inte har angetts samplas.
includedTypes NULL En semikolonavgränsad lista över typer som du vill ska samplas. en tom lista innebär alla typer. Typ som anges i excludedTypes åsidosättningstyper som anges här. Identifierade typer är: Dependency, Event, Exception, PageView, Requestoch Trace. Instanser av de angivna typerna samplas. de typer som inte är angivna eller underförstådda överförs utan sampling.

applicationInsights.httpAutoCollectionOptions

Property Standardvärde beskrivning
enableHttpTriggerExtendedInfoCollection true Aktiverar eller inaktiverar utökad HTTP-begärandeinformation för HTTP-utlösare: inkommande korrelationshuvuden för begäranden, stöd för multiinstrumentationsnycklar, HTTP-metod, sökväg och svar.
enableW3CDistributedTracing true Aktiverar eller inaktiverar stöd för W3C-distribuerat spårningsprotokoll (och aktiverar äldre korrelationsschema). Aktiverad som standard om enableHttpTriggerExtendedInfoCollection är sant. Om enableHttpTriggerExtendedInfoCollection är falskt gäller den här flaggan endast för utgående begäranden, inte inkommande begäranden.
enableResponseHeaderInjection true Aktiverar eller inaktiverar inmatning av korrelationshuvuden för flera komponenter i svar. Genom att aktivera inmatning kan Application Insights konstruera en programkarta till när flera instrumentationsnycklar används. Aktiverad som standard om enableHttpTriggerExtendedInfoCollection är sant. Den här inställningen gäller inte om enableHttpTriggerExtendedInfoCollection är false.

applicationInsights.dependencyTrackingOptions

Property Standardvärde beskrivning
enableSqlCommandTextInstrumentation falskt Aktiverar insamling av den fullständiga texten i SQL-frågor, som är inaktiverad som standard. Mer information om hur du samlar in SQL-frågetext finns i Avancerad SQL-spårning för att hämta fullständig SQL-fråga.

applicationInsights.snapshotConfiguration

Mer information om ögonblicksbilder finns i Felsöka ögonblicksbilder av undantag i .NET-appar och Felsöka problem med att aktivera Application Insights Snapshot Debugger eller visa ögonblicksbilder.

Property Standardvärde beskrivning
agentEndpoint NULL Slutpunkten som används för att ansluta till Application Insights Snapshot Debugger-tjänsten. Om värdet är null används en standardslutpunkt.
captureSnapshotMemoryWeight 0,5 Den vikt som ges till den aktuella processens minnesstorlek när du kontrollerar om det finns tillräckligt med minne för att ta en ögonblicksbild. Det förväntade värdet är ett större än 0 korrekt bråk (0 < CaptureSnapshotMemoryWeight < 1).
failedRequestLimit 3 Gränsen för antalet misslyckade begäranden om att begära ögonblicksbilder innan telemetriprocessorn inaktiveras.
handleUntrackedExceptions true Aktiverar eller inaktiverar spårning av undantag som inte spåras av Application Insights-telemetri.
isEnabled true Aktiverar eller inaktiverar ögonblicksbildsamling
isEnabledInDeveloperMode falskt Aktiverar eller inaktiverar insamling av ögonblicksbilder är aktiverat i utvecklarläge.
isEnabledWhenProfiling true Aktiverar eller inaktiverar skapande av ögonblicksbilder även om Application Insights Profiler samlar in en detaljerad profileringssession.
isExceptionSnappointsEnabled falskt Aktiverar eller inaktiverar filtrering av undantag.
isLowPrioritySnapshotUploader true Avgör om du vill köra SnapshotUploader-processen under normal prioritet.
maximumCollectionPlanSize 50 Det maximala antalet problem som vi kan spåra när som helst i ett intervall från ett till 9999.
maximumSnapshotsRequired 3 Det maximala antalet ögonblicksbilder som samlats in för ett enda problem, i ett intervall från ett till 999. Ett problem kan ses som en enskild utkastssats i ditt program. När antalet ögonblicksbilder som samlats in för ett problem når det här värdet samlas inga fler ögonblicksbilder in för det problemet förrän problemräknare återställs (se problemCounterResetInterval) och thresholdForSnapshotting gränsen har nåtts igen.
problemCounterResetInterval 24:00:00 Hur ofta du återställer problemräknarna inom ett intervall från en minut till sju dagar. När det här intervallet har nåtts återställs alla problemantal till noll. Befintliga problem som redan har nått tröskelvärdet för att göra ögonblicksbilder, men som ännu inte har genererat antalet ögonblicksbilder i maximumSnapshotsRequired, förblir aktiva.
provideAnonymousTelemetry true Avgör om anonym användning och feltelemetri ska skickas till Microsoft. Den här telemetrin kan användas om du kontaktar Microsoft för att felsöka problem med felsökningsprogrammet för ögonblicksbilder. Den används också för att övervaka användningsmönster.
reconnectInterval 00:15:00 Hur ofta vi återansluter till slutpunkten för ögonblicksbildsfelsökaren. Det tillåtna intervallet är en minut till en dag.
shadowCopyFolder NULL Anger den mapp som ska användas för skuggkopiering av binärfiler. Om de inte anges provas de mappar som anges av följande miljövariabler i ordning: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.
shareUploaderProcess true Om det är sant samlar bara en instans av SnapshotUploader in och laddar upp ögonblicksbilder för flera appar som delar InstrumentationKey. Om värdet är falskt är SnapshotUploader unikt för varje tuppl (ProcessName, InstrumentationKey).
snapshotInLowPriorityThread true Avgör om ögonblicksbilder ska bearbetas i en tråd med låg I/O-prioritet. Att skapa en ögonblicksbild är en snabb åtgärd, men för att kunna ladda upp en ögonblicksbild till tjänsten Snapshot Debugger måste den först skrivas till disken som en minidump. Det händer i SnapshotUploader-processen. Om du ställer in det här värdet på sant används lågprioriterad I/O för att skriva minidämparen, som inte konkurrerar med ditt program om resurser. Om du ställer in det här värdet på false går det snabbare att skapa miniduplicering på bekostnad av att programmet blir långsammare.
snapshotsPerDayLimit 30 Det maximala antalet ögonblicksbilder som tillåts på en dag (24 timmar). Den här gränsen tillämpas också på Application Insights-tjänstsidan. Uppladdningar är hastighetsbegränsade till 50 per dag per program (dvs. per instrumentationsnyckel). Det här värdet hjälper till att förhindra att ytterligare ögonblicksbilder skapas som slutligen avvisas under uppladdningen. Värdet noll tar bort gränsen helt och hållet, vilket inte rekommenderas.
snapshotsPerTenMinutesLimit 1 Det maximala antalet ögonblicksbilder som tillåts på 10 minuter. Även om det inte finns någon övre gräns för det här värdet bör du vara försiktig med att öka det på produktionsarbetsbelastningar eftersom det kan påverka programmets prestanda. Det går snabbt att skapa en ögonblicksbild, men att skapa en minidump av ögonblicksbilden och ladda upp den till tjänsten Snapshot Debugger är en mycket långsammare åtgärd som konkurrerar med ditt program om resurser (både CPU och I/O).
tempFolder NULL Anger mappen för att skriva minidumps och uppladdningsloggfiler. Om det inte anges används %TEMP%\Dumps .
thresholdForSnapshotting 1 Hur många gånger Application Insights behöver se ett undantag innan det efterfrågas ögonblicksbilder.
uploaderProxy NULL Åsidosätter proxyservern som används i uppladdningsprocessen för ögonblicksbilder. Du kan behöva använda den här inställningen om programmet ansluter till Internet via en proxyserver. Ögonblicksbildinsamlaren körs i programmets process och använder samma proxyinställningar. Ögonblicksbilduppladdaren körs dock som en separat process och du kan behöva konfigurera proxyservern manuellt. Om det här värdet är null försöker Snapshot Collector identifiera proxyns adress automatiskt genom att System.Net.WebRequest.DefaultWebProxy undersöka och skicka värdet till uppladdningsverktyget för ögonblicksbilder. Om det här värdet inte är null används inte autodetection och proxyservern som anges här används i uppladdningsverktyget för ögonblicksbilder.

blobar

Konfigurationsinställningar finns i Storage Blob-utlösare och bindningar.

konsol

Den här inställningen är underordnad loggning. Den styr konsolloggningen när den inte är i felsökningsläge.

{
    "logging": {
    ...
        "console": {
          "isEnabled": false,
          "DisableColors": true
        },
    ...
    }
}
Property Standardvärde beskrivning
DisableColors falskt Undertrycker loggformatering i containerloggarna i Linux. Ställ in på sant om du ser oönskade ANSI-kontrolltecken i containerloggarna när du kör på Linux.
isEnabled falskt Aktiverar eller inaktiverar konsolloggning.

Azure Cosmos DB

Konfigurationsinställningar finns i Azure Cosmos DB-utlösare och bindningar.

customHandler

Konfigurationsinställningar för en anpassad hanterare. Mer information finns i Anpassade Azure Functions-hanterare.

"customHandler": {
  "description": {
    "defaultExecutablePath": "server",
    "workingDirectory": "handler",
    "arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
  },
  "enableForwardingHttpRequest": false
}
Property Standardvärde beskrivning
defaultExecutablePath saknas Den körbara filen som ska startas som en anpassad hanteringsprocess. Det är en obligatorisk inställning när du använder anpassade hanterare och dess värde är relativt funktionsappens rot.
workingDirectory funktionsappens rot Arbetskatalogen där den anpassade hanteraren ska startas. Det är en valfri inställning och dess värde är relativt funktionsappens rot.
Argument saknas En matris med kommandoradsargument som ska skickas till den anpassade hanteringsprocessen.
enableForwardingHttpRequest falskt Om det anges vidarebefordras alla funktioner som endast består av en HTTP-utlösare och HTTP-utdata den ursprungliga HTTP-begäran i stället för nyttolasten för anpassad hanteringsbegäran.

durableTask

Konfigurationsinställningen finns i bindningar för Durable Functions.

samtidighet

Aktiverar dynamisk samtidighet för specifika bindningar i funktionsappen. Mer information finns i Dynamisk samtidighet.

    { 
        "concurrency": { 
            "dynamicConcurrencyEnabled": true, 
            "snapshotPersistenceEnabled": true 
        } 
    } 
Property Standardvärde beskrivning
dynamicConcurrencyEnabled falskt Aktiverar dynamiska samtidighetsbeteenden för alla utlösare som stöds av den här funktionen, vilket är inaktiverat som standard.
snapshotPersistenceEnabled true Inlärda samtidighetsvärden sparas regelbundet till lagring så att nya instanser börjar från dessa värden i stället för att börja från 1 och behöva göra om inlärningen.

eventHub

Konfigurationsinställningar finns i Event Hub-utlösare och bindningar.

tillägg

Egenskap som returnerar ett objekt som innehåller alla bindningsspecifika inställningar, till exempel http och eventHub.

extensionBundle

Med tilläggspaket kan du lägga till en kompatibel uppsättning Functions-bindningstillägg i funktionsappen. Mer information finns i Tilläggspaket för lokal utveckling.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Följande egenskaper är tillgängliga i extensionBundle:

Property beskrivning
id Namnområdet för Microsoft Azure Functions-tilläggsbuntar.
version Versionsintervallet för paketet som ska installeras. Körmiljön för Functions väljer alltid den högsta tillåtna versionen som definieras av versionsintervallet. Ett värdeintervall [4.0.0, 5.0.0) med tillåter till exempel version alla paketversioner från 4.0.0 upp till men inte 5.0.0. Mer information finns in intervallnotationen för att ange versionsintervall.

functions

En lista över funktioner som jobbvärden kör. En tom matris innebär att köra alla funktioner. Avsedd endast för användning när den körs lokalt. I funktionsappar i Azure bör du i stället följa stegen i Inaktivera funktioner i Azure Functions för att inaktivera specifika funktioner i stället för att använda den här inställningen.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeout

Anger tidsgränsen för alla funktionskörningar. Den följer formatet för tidsintervallsträngen.

Abonnemangstyp Standard (min) Maximalt (min)
Förbrukning 5 10
Premium1 30 -1 (obundna)2
Dedikerad (App Service) 30 -1 (obundna)2

1 Premium-plankörning garanteras bara i 60 minuter, men tekniskt sett obundna.
2 Ett värde för -1 anger obundna körningar, men att behålla en fast övre gräns rekommenderas.

{
    "functionTimeout": "00:05:00"
}

healthMonitor

Konfigurationsinställningar för Övervakare av värdhälsa.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Property Standardvärde beskrivning
enabled true Anger om funktionen är aktiverad.
healthCheckInterval 10 sekund Tidsintervallet mellan de periodiska hälsokontrollerna i bakgrunden.
healthCheckWindow 2 minuter Ett skjuttidsfönster som används tillsammans med inställningen healthCheckThreshold .
healthCheckThreshold 6 Maximalt antal gånger hälsokontrollen kan misslyckas innan värdåtervinnningen initieras.
counterThreshold 0.80 Tröskelvärdet där en prestandaräknare anses vara felaktig.

http

Konfigurationsinställningar finns i http-utlösare och bindningar.

logging

Styr loggningsbeteenden för funktionsappen, inklusive Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
Property Standardvärde beskrivning
fileLoggingMode debugOnly Avgör filloggningsbeteendet när du kör i Azure. Alternativen är never, alwaysoch debugOnly. Den här inställningen används inte när du kör lokalt. När det är möjligt bör du använda Application Insights när du felsöker dina funktioner i Azure. Användningen always påverkar appens beteende för kallstart och dataflöde negativt. debugOnly Standardinställningen genererar loggfiler när du felsöker med hjälp av Azure-portalen.
logLevel saknas Objekt som definierar loggkategorifiltreringen för funktioner i appen. Med den här inställningen kan du filtrera loggning för specifika funktioner. Mer information finns i Konfigurera loggnivåer.
konsol saknas Konsolens loggningsinställning.
applicationInsights saknas Inställningen applicationInsights .

managedDependency

Hanterat beroende är en funktion som för närvarande endast stöds med PowerShell-baserade funktioner. Det gör att beroenden kan hanteras automatiskt av tjänsten. När egenskapen enabled är inställd på truebearbetas requirements.psd1 filen. Beroenden uppdateras när eventuella mindre versioner släpps. Mer information finns i Hanterat beroende i PowerShell-artikeln.

{
    "managedDependency": {
        "enabled": true
    }
}

köer

Konfigurationsinställningar finns i Storage-köutlösare och bindningar.

sendGrid

Konfigurationsinställningen finns i SendGrid-utlösare och bindningar.

serviceBus

Konfigurationsinställningen finns i Service Bus-utlösare och bindningar.

Singleton

Konfigurationsinställningar för Singleton-låsbeteende. Mer information finns i GitHub-problem om singleton-support.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Property Standardvärde beskrivning
lockPeriod 00:00:15 Den period som lås på funktionsnivå tas för. Låsen förnyas automatiskt.
listenerLockPeriod 00:01:00 Den period som lyssnarlås tas för.
listenerLockRecoveryPollingInterval 00:01:00 Tidsintervallet som används för återställning av lyssnarlås om det inte gick att hämta ett lyssnarlås vid start.
lockAcquisitionTimeout 00:01:00 Den maximala tiden som körningen försöker hämta ett lås.
lockAcquisitionPollingInterval saknas Intervallet mellan låsningsförvärvsförsök.

version

Det här värdet anger schemaversionen av host.json. Versionssträngen "version": "2.0" krävs för en funktionsapp som riktar sig mot v2-körningen eller en senare version. Det finns inga host.json schemaändringar mellan v2 och v3.

watchDirectories

En uppsättning delade kodkataloger som ska övervakas för ändringar. Säkerställer att när koden i dessa kataloger ändras hämtas ändringarna av dina funktioner.

{
    "watchDirectories": [ "Shared" ]
}

watchFiles

En matris med ett eller flera namn på filer som övervakas för ändringar som kräver att din app startas om. Detta garanterar att när koden i dessa filer ändras hämtas uppdateringarna av dina funktioner.

{
    "watchFiles": [ "myFile.txt" ]
}

Åsidosätt host.json värden

Det kan finnas instanser där du vill konfigurera eller ändra specifika inställningar i en host.json fil för en specifik miljö, utan att ändra själva host.json filen. Du kan åsidosätta specifika host.json värden genom att skapa ett motsvarande värde som en programinställning. När körningen hittar en programinställning i formatet AzureFunctionsJobHost__path__to__settingåsidosätter den motsvarande host.json inställning som finns i path.to.setting JSON. När den uttrycks som en programinställning ersätts punkten (.) som används för att indikera JSON-hierarkin med ett dubbelt understreck (__).

Anta till exempel att du vill inaktivera Application Insight-sampling när du kör lokalt. Om du har ändrat den lokala host.json-filen för att inaktivera Application Insights kan den här ändringen skickas till din produktionsapp under distributionen. Det säkrare sättet att göra detta är att i stället skapa en programinställning som "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" i local.settings.json filen. Du kan se detta i följande local.settings.json fil, som inte publiceras:

{
    "IsEncrypted": false,
    "Values": {
        "AzureWebJobsStorage": "{storage-account-connection-string}",
        "FUNCTIONS_WORKER_RUNTIME": "{language-runtime}",
        "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false"
    }
}

Åsidosättande host.json inställningar med hjälp av miljövariabler följer namngivningskonventionerna för ASP.NET Core. När elementstrukturen innehåller en matris bör det numeriska matrisindexet behandlas som ytterligare ett elementnamn i den här sökvägen. Mer information finns i Namngivning av miljövariabler.

Nästa steg