Referentie naar host.json voor Azure Functions 2.x en hoger

Het host.json metagegevensbestand bevat configuratieopties die van invloed zijn op alle functies in een exemplaar van een functie-app. Dit artikel bevat de instellingen die beschikbaar zijn vanaf versie 2.x van de Azure Functions-runtime.

Notitie

Dit artikel is bedoeld voor Azure Functions 2.x en latere versies. Zie host.json-verwijzing voor Azure Functions 1.x voor een verwijzing naar host.json in Functions 1.x.

Andere configuratieopties voor functie-apps worden beheerd, afhankelijk van waar de functie-app wordt uitgevoerd:

Configuraties in host.json gerelateerd aan bindingen worden evenzeer toegepast op elke functie in de functie-app.

U kunt ook instellingen per omgeving overschrijven of toepassen met behulp van toepassingsinstellingen.

Voorbeeldbestand host.json

In het volgende voorbeeldbestand host.json voor versie 2.x+ zijn alle mogelijke opties opgegeven (met uitzondering van alle opties die alleen voor intern gebruik zijn).

{
    "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" ]
}

In de volgende secties van dit artikel wordt elke eigenschap op het hoogste niveau uitgelegd. Alle zijn optioneel, tenzij anders aangegeven.

Aggregator

Hiermee geeft u op hoeveel functieaanroepen worden geaggregeerd wanneer u meetwaarden voor Application Insights berekent.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Eigenschappen Standaard Beschrijving
batchSize 1000 Maximaal aantal aanvragen om samen te voegen.
flushTimeout 00:00:30 Maximale tijdsperiode om samen te voegen.

Functieaanroepen worden geaggregeerd wanneer de eerste van de twee limieten is bereikt.

applicationInsights

Deze instelling is een onderliggend element van logboekregistratie.

Besturingselementen voor Application Insights, inclusief samplingopties.

Zie het eerdere voorbeeld host.json bestand voor de volledige JSON-structuur.

Notitie

Het nemen van steekproeven van logboeken kan ertoe leiden dat sommige uitvoeringen niet worden weergegeven op de blade Application Insights-monitor. Als u logboeksampling wilt voorkomen, voegt u deze toe excludedTypes: "Request" aan de samplingSettings waarde.

Eigenschappen Standaard Beschrijving
steekproeven Instellingen N.v.t. Zie applicationInsights.sampling Instellingen.
dependencyTrackingOptions N.v.t. Zie applicationInsights.dependencyTrackingOptions.
enableLiveMetrics true Hiermee schakelt u het verzamelen van live metrische gegevens in.
enableDependencyTracking true Hiermee schakelt u het bijhouden van afhankelijkheden in.
enablePerformanceCountersCollection true Hiermee schakelt u de verzameling kudu-prestatiemeteritems in.
liveMetricsInitializationDelay 00:00:15 Uitsluitend voor intern gebruik.
httpAutoCollectionOptions N.v.t. Zie applicationInsights.httpAutoCollectionOptions.
snapshotConfiguration N.v.t. Zie applicationInsights.snapshotConfiguration.

applicationInsights.sampling Instellingen

Zie Sampling in Application Insights voor meer informatie over deze instellingen.

Eigenschappen Standaard Beschrijving
isEnabled true Hiermee worden steekproeven in- of uitgeschakeld.
maxTelemetryItemsPerSecond 20 Het doelaantal telemetrie-items dat per seconde is vastgelegd op elke serverhost. Als uw app wordt uitgevoerd op veel hosts, vermindert u deze waarde om binnen uw algemene doelsnelheid van het verkeer te blijven.
evaluationInterval 01:00:00 Het interval waarmee de huidige snelheid van telemetrie opnieuw wordt geëvalueerd. Evaluatie wordt uitgevoerd als een zwevend gemiddelde. Mogelijk wilt u dit interval verkorten als uw telemetrie plotselinge pieken kan opleveren.
initialSamplingPercentage 100,0 Het aanvankelijke steekproefpercentage dat aan het begin van het steekproefproces wordt toegepast om het percentage dynamisch te variëren. Verminder de waarde niet terwijl u foutopsporing uitvoert.
samplingPercentageIncreaseTimeout 00:00:01 Wanneer de waarde van het steekproefpercentage wordt gewijzigd, bepaalt deze eigenschap hoe snel daarna Application Insights het steekproefpercentage opnieuw mag verhogen om meer gegevens vast te leggen.
samplingPercentageDecreaseTimeout 00:00:01 Wanneer de waarde van het steekproefpercentage wordt gewijzigd, bepaalt deze eigenschap hoe snel daarna Application Insights het steekproefpercentage opnieuw mag verlagen om minder gegevens vast te leggen.
minSamplingPercentage 0,1 Naarmate het steekproefpercentage varieert, bepaalt deze eigenschap het minimaal toegestane steekproefpercentage.
maxSamplingPercentage 100,0 Naarmate het steekproefpercentage varieert, bepaalt deze eigenschap het maximaal toegestane steekproefpercentage.
movingAverageRatio 1.0 In de berekening van het zwevende gemiddelde is het gewicht toegewezen aan de meest recente waarde. Gebruik een waarde die gelijk is aan of kleiner is dan 1. Kleinere waarden zorgen ervoor dat het algoritme minder reactief is op plotselinge wijzigingen.
excludedTypes Nul Een door puntkomma's gescheiden lijst met typen die u niet wilt bemonsteren. Herkende typen zijn: Dependency, Event, Exception, PageView, , Requesten Trace. Alle exemplaren van de opgegeven typen worden verzonden; de typen die niet zijn opgegeven, worden gesampleerd.
includedTypes Nul Een door puntkomma's gescheiden lijst met typen waarvan u een steekproef wilt maken; een lege lijst impliceert alle typen. Type dat wordt vermeld in excludedTypes onderdrukkingstypen die hier worden vermeld. Herkende typen zijn: Dependency, Event, Exception, PageView, , Requesten Trace. Exemplaren van de opgegeven typen worden gemonsterd; de typen die niet zijn opgegeven of geïmpliceerd, worden zonder steekproeven verzonden.

applicationInsights.httpAutoCollectionOptions

Eigenschappen Standaard Beschrijving
enableHttpTriggerExtendedInfoCollection true Uitgebreide HTTP-aanvraaggegevens voor HTTP-triggers in- of uitschakelen: binnenkomende aanvraagcorrelatieheaders, ondersteuning voor meervoudige instrumentatiesleutels, HTTP-methode, pad en antwoord.
enableW3CDistributedTracing true Hiermee wordt ondersteuning van het W3C gedistribueerde traceringsprotocol ingeschakeld of uitgeschakeld (en wordt een verouderd correlatieschema ingeschakeld). Standaard ingeschakeld als enableHttpTriggerExtendedInfoCollection waar is. Als enableHttpTriggerExtendedInfoCollection dit onwaar is, is deze vlag alleen van toepassing op uitgaande aanvragen, niet op binnenkomende aanvragen.
enableResponseHeaderInjection true Hiermee kunt u de injectie van correlatieheaders met meerdere onderdelen in antwoorden in- of uitschakelen. Door injectie in te schakelen, kan Application Insights een toepassingstoewijzing maken wanneer verschillende instrumentatiesleutels worden gebruikt. Standaard ingeschakeld als enableHttpTriggerExtendedInfoCollection waar is. Deze instelling is niet van toepassing als enableHttpTriggerExtendedInfoCollection deze onwaar is.

applicationInsights.dependencyTrackingOptions

Eigenschappen Standaard Beschrijving
enableSqlCommandTextInstrumentation false Hiermee kunt u de volledige tekst van SQL-query's verzamelen. Deze optie is standaard uitgeschakeld. Zie Geavanceerde SQL-tracering voor volledige SQL-query's voor meer informatie over het verzamelen van SQL-querytekst.

applicationInsights.snapshotConfiguration

Zie Momentopnamen van fouten opsporen in uitzonderingen in .NET-apps en problemen oplossen met het inschakelen van Application Insights Snapshot Debugger of het weergeven van momentopnamen voor meer informatie over momentopnamen.

Eigenschappen Standaard Beschrijving
agentEndpoint Nul Het eindpunt dat wordt gebruikt om verbinding te maken met de Application Insights Snapshot Debugger-service. Als null is, wordt een standaardeindpunt gebruikt.
captureSnapshotMemoryWeight 0,5 Het gewicht dat wordt gegeven aan de huidige geheugengrootte van het proces bij het controleren of er voldoende geheugen is om een momentopname te maken. De verwachte waarde is een groter dan 0 juiste breuk (0 < CaptureSnapshotMemoryWeight < 1).
failedRequestLimit 3 De limiet voor het aantal mislukte aanvragen voor het aanvragen van momentopnamen voordat de telemetrieprocessor wordt uitgeschakeld.
handleUntrackedExceptions true Hiermee kunt u het bijhouden van uitzonderingen die niet worden bijgehouden door Application Insights-telemetrie, in- of uitschakelen.
isEnabled true Momentopnameverzameling in- of uitschakelen
isEnabledInDeveloperMode false Momentopnameverzameling in- of uitschakelen is ingeschakeld in de ontwikkelaarsmodus.
isEnabledWhenProfiling true Hiermee kunt u het maken van momentopnamen in- of uitschakelen, zelfs als de Application Insights Profiler een gedetailleerde profileringssessie verzamelt.
isExceptionSnappointsEnabled false Hiermee schakelt u filteren van uitzonderingen in of uit.
isLowPrioritySnapshotUploader true Bepaalt of het SnapshotUploader-proces onder de normale prioriteit moet worden uitgevoerd.
maximumCollectionPlanSize 50 Het maximum aantal problemen dat we op elk gewenst moment kunnen bijhouden in een bereik van één tot 9999.
maximumSnapshotsRequired 3 Het maximum aantal momentopnamen dat voor één probleem is verzameld, in een bereik van één tot 999. Een probleem kan worden beschouwd als een afzonderlijke throw-instructie in uw toepassing. Zodra het aantal momentopnamen dat is verzameld voor een probleem deze waarde bereikt, worden er geen momentopnamen meer verzameld voor dat probleem totdat probleemtellers opnieuw worden ingesteld (zie problemCounterResetInterval) en de thresholdForSnapshotting limiet opnieuw wordt bereikt.
problemCounterResetInterval 24:00:00 Hoe vaak u de probleemtellers in een bereik van één minuut tot zeven dagen opnieuw instelt. Wanneer dit interval is bereikt, worden alle aantal problemen opnieuw ingesteld op nul. Bestaande problemen die al de drempelwaarde voor het uitvoeren van momentopnamen hebben bereikt, maar nog niet het aantal momentopnamen hebben maximumSnapshotsRequiredgegenereerd, blijven actief.
provideAnonymousTelemetry true Bepaalt of anonieme gebruiks- en fouttelemetrie naar Microsoft moet worden verzonden. Deze telemetrie kan worden gebruikt als u contact op neemt met Microsoft om problemen met het foutopsporingsprogramma voor momentopnamen op te lossen. Het wordt ook gebruikt om gebruikspatronen te bewaken.
reconnectInterval 00:15:00 Hoe vaak er opnieuw verbinding wordt gemaakt met het eindpunt voor het foutopsporingsprogramma voor momentopnamen. Het toegestane bereik is één minuut tot één dag.
shadowCopyFolder Nul Hiermee geeft u de map die moet worden gebruikt voor het kopiëren van binaire bestanden met schaduw. Als deze niet is ingesteld, worden de mappen die zijn opgegeven door de volgende omgevingsvariabelen in volgorde geprobeerd: Fabric_Folder_App_Temp, LOCALAPPDATA, APPDATA, TEMP.
shareUploaderProcess true Indien waar, verzamelt en uploadt slechts één exemplaar van SnapshotUploader momentopnamen voor meerdere apps die de InstrumentationKey delen. Als deze optie is ingesteld op false, is de SnapshotUploader uniek voor elke tuple (ProcessName, InstrumentationKey).
snapshotInLowPriorityThread true Hiermee bepaalt u of momentopnamen in een thread met lage IO-prioriteit al dan niet moeten worden verwerkt. Het maken van een momentopname is een snelle bewerking, maar als u een momentopname wilt uploaden naar de service Snapshot Debugger, moet deze eerst als minidump naar de schijf worden geschreven. Dat gebeurt in het SnapshotUploader-proces. Als u deze waarde instelt op true, wordt I/O met lage prioriteit gebruikt om de minidump te schrijven, die niet concurreert met uw toepassing voor resources. Als u deze waarde instelt op onwaar, wordt het maken van minidump versneld ten koste van het vertragen van uw toepassing.
snapshotsPerDayLimit 30 Het maximum aantal momentopnamen dat is toegestaan in één dag (24 uur). Deze limiet wordt ook afgedwongen aan de kant van de Application Insights-service. Uploads zijn beperkt tot 50 per dag per toepassing (dat wil gezegd, per instrumentatiesleutel). Deze waarde helpt voorkomen dat er extra momentopnamen worden gemaakt die uiteindelijk worden geweigerd tijdens het uploaden. Een waarde van nul verwijdert de limiet volledig, wat niet wordt aanbevolen.
snapshotsPerTenMinutesLimit 1 Het maximum aantal momentopnamen dat in 10 minuten is toegestaan. Hoewel er geen bovengrens aan deze waarde is, moet u voorzichtig zijn met het verhogen van deze waarde voor productieworkloads, omdat dit van invloed kan zijn op de prestaties van uw toepassing. Het maken van een momentopname is snel, maar het maken van een minidump van de momentopname en het uploaden ervan naar de service Snapshot Debugger is een veel tragere bewerking die concurreert met uw toepassing voor resources (zowel CPU als I/O).
tempFolder Nul Hiermee geeft u de map voor het schrijven van minidumps en uploader logboekbestanden. Als dit niet is ingesteld, wordt %TEMP%\Dumps gebruikt.
thresholdForSnapshotting 1 Hoe vaak Application Insights een uitzondering moet zien voordat er om momentopnamen wordt gevraagd.
uploaderProxy Nul Hiermee overschrijft u de proxyserver die wordt gebruikt in het proces Snapshot Uploader. Mogelijk moet u deze instelling gebruiken als uw toepassing via een proxyserver verbinding maakt met internet. De Snapshot Collector wordt uitgevoerd binnen het proces van uw toepassing en gebruikt dezelfde proxy-instellingen. De momentopname-uploader wordt echter uitgevoerd als een afzonderlijk proces en mogelijk moet u de proxyserver handmatig configureren. Als deze waarde null is, probeert Snapshot Collector het adres van de proxy automatisch te detecteren door de waarde te onderzoeken System.Net.WebRequest.DefaultWebProxy en door te geven aan de momentopname-uploader. Als deze waarde niet null is, wordt autodetection niet gebruikt en wordt de hier opgegeven proxyserver gebruikt in de momentopname-uploader.

blobs

Configuratie-instellingen vindt u in Storage Blob-triggers en -bindingen.

console

Deze instelling is een onderliggend element van logboekregistratie. Het bepaalt de logboekregistratie van de console wanneer deze zich niet in de foutopsporingsmodus bevindt.

{
    "logging": {
    ...
        "console": {
          "isEnabled": false,
          "DisableColors": true
        },
    ...
    }
}
Eigenschappen Standaard Beschrijving
DisableColors false Onderdrukt logboekopmaak in de containerlogboeken op Linux. Ingesteld op waar als u ongewenste ANSI-besturingstekens in de containerlogboeken ziet wanneer u op Linux wordt uitgevoerd.
isEnabled false Hiermee schakelt u consolelogboekregistratie in of uit.

Azure Cosmos DB

Configuratie-instellingen vindt u in Azure Cosmos DB-triggers en -bindingen.

customHandler

Configuratie-instellingen voor een aangepaste handler. Zie aangepaste handlers van Azure Functions voor meer informatie.

"customHandler": {
  "description": {
    "defaultExecutablePath": "server",
    "workingDirectory": "handler",
    "arguments": [ "--port", "%FUNCTIONS_CUSTOMHANDLER_PORT%" ]
  },
  "enableForwardingHttpRequest": false
}
Eigenschappen Standaard Beschrijving
defaultExecutablePath N.v.t. Het uitvoerbare bestand dat moet worden gestart als het aangepaste handlerproces. Het is een vereiste instelling bij het gebruik van aangepaste handlers en de waarde ervan is relatief ten opzichte van de hoofdmap van de functie-app.
workingDirectory hoofdmap van functie-app De werkmap waarin het aangepaste handlerproces moet worden gestart. Het is een optionele instelling en de waarde ervan is relatief ten opzichte van de hoofdmap van de functie-app.
Argumenten N.v.t. Een matrix met opdrachtregelargumenten die moeten worden doorgegeven aan het aangepaste handlerproces.
enableForwardingHttpRequest false Als deze optie is ingesteld, worden alle functies die bestaan uit alleen een HTTP-trigger en HTTP-uitvoer doorgestuurd naar de oorspronkelijke HTTP-aanvraag in plaats van de nettolading van de aangepaste handleraanvraag.

durableTask

Configuratie-instelling vindt u in bindingen voor Durable Functions.

Concurrency

Maakt dynamische gelijktijdigheid mogelijk voor specifieke bindingen in uw functie-app. Zie Dynamische gelijktijdigheid voor meer informatie.

    { 
        "concurrency": { 
            "dynamicConcurrencyEnabled": true, 
            "snapshotPersistenceEnabled": true 
        } 
    } 
Eigenschappen Standaard Beschrijving
dynamicConcurrencyEnabled false Hiermee schakelt u dynamisch gelijktijdigheidsgedrag in voor alle triggers die door deze functie worden ondersteund. Deze functie is standaard uitgeschakeld.
snapshotPersistenceEnabled true Geleerde gelijktijdigheidswaarden worden periodiek opgeslagen in de opslag, zodat nieuwe exemplaren beginnen met deze waarden in plaats van vanaf 1 en het leren opnieuw moeten uitvoeren.

eventHub

Configuratie-instellingen vindt u in Event Hub-triggers en -bindingen.

extensies

Eigenschap die een object retourneert dat alle bindingsspecifieke instellingen bevat, zoals http en eventHub.

extensionBundle

Met extensiebundels kunt u een compatibele set bindingsextensies van Functions toevoegen aan uw functie-app. Zie Uitbreidingsbundels voor lokale ontwikkeling voor meer informatie.

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

De volgende eigenschappen zijn beschikbaar in extensionBundle:

Eigenschappen Beschrijving
id De naamruimte voor extensiebundels van Microsoft Azure Functions.
version Het versiebereik van de bundel die moet worden geïnstalleerd. De Functions-runtime kiest altijd de maximaal toegestane versie die door het versiebereik of -interval is gedefinieerd. Met een version waardebereik kunnen [4.0.0, 5.0.0) bijvoorbeeld alle bundelversies van 4.0.0 tot en met 5.0.0 worden toegestaan. Zie de intervalnotatie voor het opgeven van versiebereiken voor meer informatie.

functions

Een lijst met functies die door de taakhost worden uitgevoerd. Een lege matrix betekent dat alle functies worden uitgevoerd. Alleen bedoeld voor gebruik bij lokaal uitvoeren. In functie-apps in Azure moet u in plaats daarvan de stappen volgen in Functies uitschakelen in Azure Functions om specifieke functies uit te schakelen in plaats van deze instelling te gebruiken.

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

functionTimeout

Geeft de time-outduur aan voor alle functie-uitvoeringen. Deze volgt de tekenreeksindeling voor de tijdspanne.

Abonnementtype Standaard (min. ) Maximum (min.)
Verbruik 5 10
Premium1 30 -1 (niet-gebonden)2
Toegewezen (App Service) 30 -1 (niet-gebonden)2

Uitvoering van 1 Premium-abonnement is slechts 60 minuten gegarandeerd, maar technisch niet gebonden.
2 Een waarde van geeft niet-gebonden uitvoering aan, maar het behouden van -1 een vaste bovengrens wordt aanbevolen.

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

healthMonitor

Configuratie-instellingen voor hoststatusmonitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Eigenschappen Standaard Beschrijving
enabled true Hiermee geeft u op of de functie is ingeschakeld.
healthCheckInterval 10 seconden Het tijdsinterval tussen de periodieke statuscontroles op de achtergrond.
healthCheckWindow 2 minuten Een schuiftijdvenster dat wordt gebruikt in combinatie met de healthCheckThreshold instelling.
healthCheckThreshold 6 Maximum aantal keren dat de statuscontrole kan mislukken voordat een hostre recycle wordt gestart.
counterThreshold 0.80 De drempelwaarde waarmee een prestatiemeteritem als beschadigd wordt beschouwd.

http

Configuratie-instellingen vindt u in HTTP-triggers en -bindingen.

logboekregistratie

Hiermee bepaalt u het gedrag van logboekregistratie van de functie-app, waaronder Application Insights.

"logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      "Function.MyFunction": "Information",
      "default": "None"
    },
    "console": {
        ...
    },
    "applicationInsights": {
        ...
    }
}
Eigenschappen Standaard Beschrijving
fileLoggingMode foutopsporingOnly Bepaalt het gedrag van bestandslogboekregistratie bij het uitvoeren in Azure. Opties zijn never, alwaysen debugOnly. Deze instelling wordt niet gebruikt bij het lokaal uitvoeren. Indien mogelijk moet u Application Insights gebruiken bij het opsporen van fouten in uw functies in Azure. Het gebruik van always negatieve gevolgen voor het koude startgedrag en de gegevensdoorvoer van uw app. Met de standaardinstelling debugOnly worden logboekbestanden gegenereerd wanneer u fouten opspoort met behulp van Azure Portal.
Loglevel N.v.t. Object waarmee het filteren van logboekcategorie voor functies in de app wordt gedefinieerd. Met deze instelling kunt u logboekregistratie filteren op specifieke functies. Zie Logboekniveaus configureren voor meer informatie.
console N.v.t. De instelling voor logboekregistratie van de console .
applicationInsights N.v.t. De instelling applicationInsights .

managedDependency

Beheerde afhankelijkheid is een functie die momenteel alleen wordt ondersteund met PowerShell-functies. Hiermee kunnen afhankelijkheden automatisch worden beheerd door de service. Wanneer de enabled eigenschap is ingesteld op true, wordt het requirements.psd1 bestand verwerkt. Afhankelijkheden worden bijgewerkt wanneer er secundaire versies worden uitgebracht. Zie Beheerde afhankelijkheid in het PowerShell-artikel voor meer informatie.

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

wachtrijen

Configuratie-instellingen vindt u in Storage-wachtrijtriggers en -bindingen.

sendGrid

Configuratie-instelling vindt u in SendGrid-triggers en -bindingen.

serviceBus

Configuratie-instelling vindt u in Service Bus-triggers en -bindingen.

Singleton

Configuratie-instellingen voor Singleton-vergrendelingsgedrag. Zie GitHub-probleem over singleton-ondersteuning voor meer informatie.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Eigenschappen Standaard Beschrijving
lockPeriod 00:00:15 De periode waarvoor functieniveauvergrendelingen worden gebruikt. De vergrendeling wordt automatisch vernieuwd.
listenerLockPeriod 00:01:00 De periode waarvoor listenervergrendelingen worden gebruikt.
listenerLockRecoveryPollingInterval 00:01:00 Het tijdsinterval dat wordt gebruikt voor herstel van listenervergrendeling als een listenervergrendeling niet kan worden verkregen bij het opstarten.
lockAcquisitionTimeout 00:01:00 De maximale hoeveelheid tijd die de runtime probeert een vergrendeling te verkrijgen.
lockAcquisitionPollingInterval N.v.t. Het interval tussen vergrendelingspogingen.

version

Deze waarde geeft de schemaversie van host.json aan. De versietekenreeks "version": "2.0" is vereist voor een functie-app die is gericht op de v2-runtime of een latere versie. Er zijn geen host.json schemawijzigingen tussen v2 en v3.

watchDirectories

Een set gedeelde codemappen die moeten worden bewaakt op wijzigingen. Zorgt ervoor dat wanneer code in deze mappen wordt gewijzigd, de wijzigingen worden opgehaald door uw functies.

{
    "watchDirectories": [ "Shared" ]
}

watchFiles

Een matrix van een of meer namen van bestanden die worden bewaakt op wijzigingen waarvoor uw app opnieuw moet worden opgestart. Dit garandeert dat wanneer code in deze bestanden wordt gewijzigd, de updates worden opgehaald door uw functies.

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

Waarden voor host.json overschrijven

Er kunnen exemplaren zijn waarin u specifieke instellingen in een host.json-bestand voor een specifieke omgeving wilt configureren of wijzigen, zonder het host.json bestand zelf te wijzigen. U kunt specifieke host.json waarden overschrijven door een equivalente waarde te maken als toepassingsinstelling. Wanneer de runtime een toepassingsinstelling in de indeling AzureFunctionsJobHost__path__to__settingvindt, wordt de equivalente host.json instelling path.to.setting in de JSON overschreven. Wanneer deze wordt uitgedrukt als een toepassingsinstelling, wordt de punt (.) die wordt gebruikt om aan te geven dat de JSON-hiërarchie wordt vervangen door een dubbel onderstrepingsteken (__).

Stel dat u sampling van Application Insight wilt uitschakelen wanneer u lokaal wordt uitgevoerd. Als u het lokale host.json-bestand hebt gewijzigd om Application Insights uit te schakelen, wordt deze wijziging mogelijk tijdens de implementatie naar uw productie-app gepusht. De veiligere manier om dit te doen, is door in plaats daarvan een toepassingsinstelling te maken zoals "AzureFunctionsJobHost__logging__applicationInsights__samplingSettings__isEnabled":"false" in het local.settings.json bestand. U kunt dit zien in het volgende local.settings.json bestand, dat niet wordt gepubliceerd:

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

Het overschrijven van host.json instellingen met behulp van omgevingsvariabelen volgt de ASP.NET Core-naamconventies. Wanneer de elementstructuur een matrix bevat, moet de numerieke matrixindex worden behandeld als een extra elementnaam in dit pad. Zie Naamgeving van omgevingsvariabelen voor meer informatie.

Volgende stappen