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:
- Geïmplementeerd in Azure: in uw toepassingsinstellingen
- Op uw lokale computer: in het bestand local.settings.json .
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"
},
"telemetryMode": "OpenTelemetry",
"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 |
---|---|---|
samplingSettings | n.v.t. | Zie applicationInsights.samplingSettings. |
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.samplingSettings
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 , , Request en 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 , , Request en 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 maximumSnapshotsRequired gegenereerd, 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 , always en 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. |
telemetryMode
Deze functie is momenteel beschikbaar als preview-versie.
Wordt gebruikt om uitvoer van logboeken en traceringen in een OpenTelemetry-uitvoerindeling in te schakelen naar een of meer eindpunten die Ondersteuning bieden voor OpenTelemetry. Wanneer deze instelling is ingesteld op OpenTelemetry
, wordt de OpenTelemetry-uitvoer gebruikt. Standaard zonder deze instelling worden alle logboeken, traceringen en gebeurtenissen verzonden naar Application Insights met behulp van de standaarduitvoer. Zie OpenTelemetry gebruiken met Azure Functions voor meer informatie.
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__setting
vindt, 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.