Delen via


host.json-verwijzing voor Azure Functions 1.x

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 voor de runtime van versie 1.x. Het JSON-schema bevindt zich op http://json.schemastore.org/host.

Notitie

Dit artikel is bedoeld voor Azure Functions 1.x. Voor een verwijzing naar host.json in Functions 2.x en hoger, zie host.json referentie voor Azure Functions 2.x.

Andere configuratieopties voor functie-apps worden beheerd in uw app-instellingen.

Sommige host.json-instellingen worden alleen gebruikt wanneer ze lokaal worden uitgevoerd in het local.settings.json-bestand .

Voorbeeldbestand host.json

In het volgende voorbeeld host.json bestanden zijn alle mogelijke opties opgegeven.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    },
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix"
        }
    },
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 20,
        "maxConcurrentRequests": 10,
        "dynamicThrottlesEnabled": false
    },
    "id": "9f4ea53c5136457d883d685e57164f08",
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    },
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    },
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    },
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    },
    "watchDirectories": [ "Shared" ],
}

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

samenvoeger

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

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Eigendom Standaard Beschrijving
batchgrootte 1000 Maximaal aantal verzoeken om te aggregeren.
leegmaaktijd 00:00:30 Maximale tijdsperiode voor aggregatie.

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

applicationInsights

Hiermee beheert u de steekproeffunctie in Application Insights.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Eigendom Standaard Beschrijving
isIngeschakeld waar Hiermee worden steekproeven in- of uitgeschakeld.
Maximum telemetrie-items per seconde 5 De drempelwaarde waarbij steekproeven worden gestart.

DocumentDB

Configuratie-instellingen voor de Azure Cosmos DB-triggers en -bindingen.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Eigendom Standaard Beschrijving
GatewayModus Toegangspoort De verbindingsmodus die door de functie wordt gebruikt bij het maken van verbinding met de Azure Cosmos DB-service. Opties zijn Direct en Gateway
protocol Https Het verbindingsprotocol dat door de functie wordt gebruikt wanneer verbinding wordt gemaakt met de Azure Cosmos DB-service. Lees hier voor een uitleg van beide modi
leasevoorvoegsel n.v.t Leasevoorvoegsel dat gebruikt wordt in alle functies van een app.

duurzame taak

Configuratie-instellingen voor Durable Functions.

Notitie

Alle belangrijke versies van Durable Functions worden ondersteund in alle versies van de Azure Functions-runtime. Het schema van de host.json-configuratie verschilt echter enigszins, afhankelijk van de versie van de Azure Functions-runtime en de versie van de Durable Functions-extensie die u gebruikt.

De volgende code bevat twee voorbeelden van durableTask instellingen in host.json: één voor Durable Functions 2.x en één voor Durable Functions 1.x. U kunt beide voorbeelden gebruiken met Azure Functions 2.0 en 3.0. Met Azure Functions 1.0 zijn de beschikbare instellingen hetzelfde, maar de durableTask sectie van host.json bevindt zich in de hoofdmap van de host.json-configuratie in plaats van een veld onder extensions.

{
 "extensions": {
  "durableTask": {
    "hubName": "MyTaskHub",
    "defaultVersion": "1.0",
    "versionMatchStrategy": "CurrentOrOlder",
    "versionFailureStrategy": "Reject",
    "storageProvider": {
      "connectionStringName": "AzureWebJobsStorage",
      "controlQueueBatchSize": 32,
      "controlQueueBufferThreshold": 256,
      "controlQueueVisibilityTimeout": "00:05:00",
      "FetchLargeMessagesAutomatically": true,
      "maxQueuePollingInterval": "00:00:30",
      "partitionCount": 4,
      "trackingStoreConnectionStringName": "TrackingStorage",
      "trackingStoreNamePrefix": "DurableTask",
      "useLegacyPartitionManagement": false,
      "useTablePartitionManagement": true,
      "workItemQueueVisibilityTimeout": "00:05:00",
      "QueueClientMessageEncoding": "UTF8"
    },
    "tracing": {
      "traceInputsAndOutputs": false,
      "traceReplayEvents": false,
    },
    "notifications": {
      "eventGrid": {
        "topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
        "keySettingName": "EventGridKey",
        "publishRetryCount": 3,
        "publishRetryInterval": "00:00:30",
        "publishEventTypes": [
          "Started",
          "Completed",
          "Failed",
          "Terminated"
        ]
      }
    },
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "maxConcurrentEntityFunctions": 10,
    "extendedSessionsEnabled": false,
    "extendedSessionIdleTimeoutInSeconds": 30,
    "useAppLease": true,
    "useGracefulShutdown": false,
    "maxEntityOperationBatchSize": 50,
    "maxOrchestrationActions": 100000,
    "storeInputsInOrchestrationHistory": false
  }
 }
}
Eigendom Standaardwaarde Beschrijving
hubNaam TestHubName (DurableFunctionsHub in v1.x) De naam van de hub waarin de huidige status van een functie-app wordt opgeslagen. Namen van taakhubs moeten beginnen met een letter en mogen alleen letters en cijfers bevatten. Als u geen naam opgeeft, wordt de standaardwaarde gebruikt. Alternatieve namen van taakhubs kunnen worden gebruikt om meerdere Durable Functions-toepassingen van elkaar te isoleren, zelfs als ze dezelfde back-end voor opslag gebruiken. Zie voor meer informatie Taakhubs.
standaardversie De standaardversie die wordt toegewezen aan nieuwe orkestratie-exemplaren. Wanneer u een versie opgeeft, worden nieuwe orkestratie-exemplaren permanent gekoppeld aan deze versiewaarde. Deze instelling wordt gebruikt door de orchestratie versiebeheer om scenario's zoals implementaties zonder downtime mogelijk te maken met ingrijpende wijzigingen. U kunt elke tekenreekswaarde voor de versie gebruiken.
versieMatchStrategie CurrentOrOlder Een waarde die aangeeft hoe orkestratieversies overeenkomen wanneer orchestrator-functies worden geladen. Geldige waarden zijn None, Stricten CurrentOrOlder. Zie Orchestration-versiebeheer voor gedetailleerde uitleg.
versieFalenStrategie Verwerpen Een waarde die aangeeft wat er gebeurt wanneer een orchestratieversie niet overeenkomt met de huidige defaultVersion waarde. Geldige waarden zijn Reject en Fail. Zie Orchestration-versiebeheer voor gedetailleerde uitleg.
controlQueueBatchSize 32 Het aantal berichten dat tegelijkertijd moet worden opgehaald uit de controlewachtrij.
bufferdrempel voor de controlewachtrij Verbruiksabonnement voor Python: 32
Verbruiksabonnement voor andere talen: 128
Toegewezen of Premium-abonnement: 256
Het aantal control queue-berichten dat tegelijkertijd in het geheugen kan worden gebufferd. Wanneer het opgegeven nummer is bereikt, wacht de dispatcher voordat andere berichten worden weergegeven. In sommige situaties kan het verminderen van deze waarde het geheugenverbruik aanzienlijk verminderen.
aantal partities 4 Het partitieaantal voor de beheerrij. Deze waarde moet een positief geheel getal tussen 1 en 16 zijn. Als u deze waarde wijzigt, moet u een nieuwe taakhub configureren.
controlQueueVisibilityTimeout (beheertekenreeks voor zichtbaarheidstijd) 00:05:00 De time-out voor de zichtbaarheid van berichten in de controlewachtrij in de indeling uu:mm:ss.
werkItemWachtrijZichtbaarheidTimeout 00:05:00 De zichtbaarheidstime-out van werkqueue-berichten in de indeling uu:mm:ss.
HaalGroteBerichtenAutomatischOp waar Een waarde die aangeeft of grote berichten moeten worden opgehaald in orkestratiestatusquery's. Wanneer deze instelling is true, worden grote berichten die de limiet voor de wachtrijgrootte overschrijden, opgehaald. Wanneer deze instelling is false, wordt een blob-URL opgehaald die verwijst naar elk groot bericht.
maximale gelijktijdige activiteitsfuncties Verbruiksplan: 10
Toegewezen of Premium-abonnement: 10 keer het aantal processors op de huidige computer
Het maximum aantal activiteitenfuncties dat gelijktijdig kan worden verwerkt op één exemplaar van een host.
maxConcurrentOrchestratorFunctions Verbruiksabonnement: 5
Toegewezen of Premium-abonnement: 10 keer het aantal processors op de huidige computer
Het maximale aantal orchestratorfuncties dat tegelijkertijd kan worden verwerkt op één exemplaar van een host.
Maximale gelijktijdige entiteitsfuncties Verbruiksabonnement: 5
Toegewezen of Premium-abonnement: 10 keer het aantal processors op de huidige computer
Het maximum aantal entiteitsfuncties dat gelijktijdig kan worden verwerkt op één hostexemplaar. Deze instelling is alleen van toepassing wanneer u de duurzame taakplanner gebruikt. Anders is het maximum aantal gelijktijdige entiteitsuitvoeringen beperkt tot de maxConcurrentOrchestratorFunctions waarde.
maxQueuePollingInterval 00:00:30 Het maximale polling-interval voor de controle- en werkitemwachtrij in de indeling uu:mm:ss . Hogere waarden kunnen resulteren in hogere berichtverwerkingslatenties. Lagere waarden kunnen resulteren in hogere opslagkosten omdat er een toename is in opslagtransacties.
maxOrchestrationActions 100,000 Het maximum aantal acties dat een orchestratorfunctie kan uitvoeren tijdens één uitvoeringscyclus.
connectionName (v2.7.0 en hoger)
connectionStringName (v2.x)
azureStorageConnectionStringName (v1.x)
AzureWebJobsOpslag De naam van een app-instelling of verzameling die aangeeft hoe u verbinding maakt met de onderliggende Azure Storage-resources. Wanneer u één app-instelling opgeeft, moet dit een Azure Storage-verbindingsreeks zijn.
trackingStoreConnectionName (v2.7.0 en hoger)
trackingStoreConnectionStringNaam
De naam van een app-instelling of instellingverzameling die aangeeft hoe verbinding moet worden gemaakt met de tabellen Geschiedenis en Exemplaren, waarin de uitvoeringsgeschiedenis en metagegevens over orkestratie-exemplaren worden opgeslagen. Wanneer u één app-instelling opgeeft, moet dit een Azure Storage-verbindingsreeks zijn. Als u geen instelling opgeeft, wordt de connectionStringName waarde (v2.x) of azureStorageConnectionStringName waardeverbinding (v1.x) gebruikt.
trackingStoreNamePrefix Het voorvoegsel dat moet worden gebruikt voor de tabellen Geschiedenis en Instanties wanneer trackingStoreConnectionStringName is opgegeven. Als u geen voorvoegsel opgeeft, wordt de standaardwaarde gebruikt DurableTask . Als trackingStoreConnectionStringName niet is opgegeven, gebruiken de tabellen Geschiedenis en Exemplaren de hubName-waarde als prefix en wordt de instelling trackingStoreNamePrefix genegeerd.
traceerIn- en uitvoer onwaar Een waarde die aangeeft of de invoer en uitvoer van functie-aanroepen moeten worden getraceerd. Wanneer de uitvoeringsgebeurtenissen van de functie worden getraceerd, is het standaardgedrag het aantal bytes in de geserialiseerde invoer en uitvoer voor functieaanroepen op te nemen. Dit gedrag biedt minimale informatie over de invoer en uitvoer, zodat deze de logboeken niet opbloat of onbedoeld gevoelige informatie beschikbaar maakt. Wanneer deze eigenschap is true, wordt de volledige inhoud van functie-invoer en -uitvoer vastgelegd.
traceReplayEvents onwaar Een waarde die aangeeft of gebeurtenissen voor het opnieuw afspelen van orchestration naar Application Insights moeten worden geschreven.
logReplayEvents onwaar Een waarde die aangeeft of opnieuw afgespeelde uitvoeringen moeten worden geregistreerd in toepassingslogboeken.
eventGridTopicEndpoint (eventrasteronderwerpendpunt) De URL van een eindpunt met aangepast onderwerp van Azure Event Grid. Wanneer u deze eigenschap instelt, worden orkestratielevenscyclusmeldingen naar dit eindpunt gepubliceerd. Deze eigenschap ondersteunt de resolutie van app-instellingen.
EventGridSleutelInstellingNaam De naam van de app-instelling die de sleutel bevat die wordt gebruikt voor verificatie met het aangepaste Event Grid-onderwerp op de EventGridTopicEndpoint URL.
aantalHerhalingenPublicerenEventGrid 0 Het aantal keren dat u het opnieuw moet proberen als het publiceren naar het Event Grid-onderwerp mislukt.
eventGridPubliceerOpnieuwInterval 00:05:00 Het publiceer-herhaalinterval van Event Grid in de indeling uu:mm:ss.
eventGrid publicatie gebeurtenistypen Een lijst met gebeurtenistypen die moeten worden gepubliceerd op Event Grid. Als u geen typen opgeeft, worden alle gebeurtenistypen gepubliceerd. Toegestane waarden zijn onder andere Started, Completed, Faileden Terminated.
extendedSessionsEnabled onwaar Een waarde die aangeeft of sessie-orchestrator- en entiteitsfunctiesessies in de cache worden opgeslagen.
verlengdeSessieInactiefTijdslimietInSeconden 30 Het aantal seconden dat een niet-actieve orchestrator of entiteitsfunctie in het geheugen aanwezig blijft voordat deze wordt verwijderd. Deze instelling wordt alleen gebruikt wanneer de extendedSessionsEnabled instelling is true.
useAppLease waar Een waarde die aangeeft of apps een blob-lease op app-niveau moeten verkrijgen voordat takenhub-berichten worden verwerkt. Zie Herstel na noodgevallen en geo-distributie in Durable Functions voor meer informatie. Deze instelling is beschikbaar vanaf v2.3.0.
gebruikLegacyPartitiebeheer onwaar Een waarde die het type algoritme voor partitiebeheer aangeeft dat moet worden gebruikt. Wanneer deze instelling is false, wordt een algoritme gebruikt dat de mogelijkheid van dubbele functie-uitvoering vermindert bij het uitschalen. Deze instelling is beschikbaar vanaf v2.3.0. Het is niet raadzaam deze waarde in te true stellen.
Beheer van tabelpartities gebruiken In v3.x: true
In v2.x: false
Een waarde die het type algoritme voor partitiebeheer aangeeft dat moet worden gebruikt. Wanneer deze instelling is trueingesteld, wordt een algoritme gebruikt dat is ontworpen om de kosten voor Azure Storage v2-accounts te verlagen. Deze instelling is beschikbaar vanaf WebJobs.Extensions.DurableTask v2.10.0. Voor het gebruik van deze instelling met een beheerde identiteit is WebJobs.Extensions.DurableTask v3.x of hoger of Worker.Extensions.DurableTask v1.2.x of hoger vereist.
GebruikZorgzaamAfsluiten onwaar (Preview) Een waarde die aangeeft of er probleemloos moet worden afgesloten om te voorkomen dat hostafsluitingen ervoor zorgen dat functie-uitvoeringen in het proces mislukken.
maxEntityOperationBatchSize Verbruiksabonnement: 50
Toegewezen of Premium-abonnement: 5.000
Het maximum aantal entiteitsbewerkingen dat als batch wordt verwerkt. Als deze waarde 1 is, wordt batchverwerking uitgeschakeld en verwerkt een afzonderlijke functie-aanroep elk bewerkingsbericht. Deze instelling is beschikbaar vanaf v2.6.1.
slaInvoerOpInOrchestratieGeschiedenis onwaar Een waarde die aangeeft hoe invoer moet worden opgeslagen. Als deze instelling is true, wordt in het Durable Task Framework activiteitsinvoer opgeslagen in de tabel Geschiedenis en verschijnen de invoeren van activiteitsfuncties in queryresultaten voor orkestratiegeschiedenis.
maxGrpcMessageSizeInBytes 4,194,304 Een geheel getal dat de maximale grootte, in bytes, instelt van berichten die de gRPC-client (Remote Procedure Call) kan ontvangen. De implementatie van DurableTaskClient maakt gebruik van de gRPC-client om orkestratie-instanties te beheren. Deze instelling is van toepassing op Durable Functions .NET geïsoleerde werkrol- en Java-apps.
grpcHttpClientTimeout 00:01:40 De time-out in de indeling uu:mm:ss voor de HTTP-client die wordt gebruikt door de gRPC-client in Durable Functions. De client wordt momenteel ondersteund voor .NET geïsoleerde werkrol-apps (.NET 6 en latere versies) en voor Java-apps.
QueueClientMessageEncoding UTF8 De coderingsstrategie voor Azure Queue Storage-berichten. Geldige strategieën zijn Unicode Transformation Format–8-bits (UTF8) en Base64. Deze instelling is van toepassing wanneer u Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 of hoger of Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 of hoger gebruikt.

Veel van deze instellingen zijn voor het optimaliseren van de prestaties. Zie Prestaties en schaal voor meer informatie.

Evenement

Configuratie-instellingen voor Event Hub-triggers en -bindingen.

functies

Een lijst met functies die door de taakhost worden uitgevoerd. Een lege matrix betekent dat alle functies worden uitgevoerd. Alleen bedoeld voor gebruik wanneer lokaal uitgevoerd. 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 voor alle functies aan. In een serverloos verbruiksabonnement is het geldige bereik van 1 seconde tot 10 minuten en de standaardwaarde is 5 minuten. In een App Service-plan is er geen algemene limiet en is de standaardwaarde null, wat aangeeft dat er geen time-out is.

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

gezondheidsmonitor

Configuratie-instellingen voor hoststatusmonitor.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Eigendom Standaard Beschrijving
ingeschakeld waar Hiermee geeft u op of de functie is ingeschakeld.
systeemgezondheidscontrolesinterval 10 seconden Het tijdsinterval tussen de periodieke gezondheidscontroles op de achtergrond.
gezondheidscontrolevenster 2 minuten Een schuiftijdvenster dat wordt gebruikt met de healthCheckThreshold instelling.
gezondheidscontrole-drempel 6 Maximaal aantal keren dat de gezondheidscontrole kan mislukken voordat een host-recycling wordt gestart.
tellerdrempel 0.80 De drempelwaarde waarboven een prestatiemeter als ongezond wordt beschouwd.

http

Configuratie-instellingen voor HTTP-triggers en -bindingen.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Eigendom Standaard Beschrijving
DynamicThrottlesIngeschakeld onwaar Wanneer deze instelling is ingeschakeld, zorgt deze instelling ervoor dat de pijplijn voor het verwerken van aanvragen periodiek systeemprestatiemeteritems controleert, zoals verbindingen/threads/processen/geheugen/cpu/etc. en als een van deze tellers een ingebouwde hoge drempelwaarde (80%) overschrijdt, worden aanvragen geweigerd met een 429 'Te bezet' antwoord totdat de tellers terugkeren naar normale niveaus.
maxConcurrentRequests onbegrensd (-1) Het maximum aantal HTTP-functies dat parallel wordt uitgevoerd. Hiermee kunt u gelijktijdigheid regelen, waardoor u het resourcegebruik kunt beheren. U hebt bijvoorbeeld een HTTP-functie die veel systeembronnen (geheugen/cpu/sockets) gebruikt, zodat er problemen optreden wanneer gelijktijdigheid te hoog is. Of misschien hebt u een functie waarmee uitgaande verzoeken worden gedaan naar een service van derden, en die aanroepen moeten beperkt worden in snelheid. In deze gevallen kan het toepassen van een beperking van snelheid hier helpen.
maxAantalOpenstaandeVerzoeken onbegrensd (-1) Het maximum aantal openstaande aanvragen dat op elk gewenst moment wordt bewaard. Deze limiet omvat aanvragen die in de wachtrij worden geplaatst, maar die niet zijn gestart en eventuele lopende uitvoeringen. Eventuele binnenkomende aanvragen die deze limiet overschrijden, worden geweigerd met een antwoord van 429 'Te bezet'. Hierdoor kunnen bellers strategieën voor opnieuw proberen op basis van tijd gebruiken en kunt u ook maximale latenties voor aanvragen beheren. Dit bepaalt alleen wachtrijen die plaatsvinden binnen het uitvoeringspad van de scripthost. Andere wachtrijen, zoals de ASP.NET-aanvraagwachtrij, zijn nog steeds van kracht en worden niet beïnvloed door deze instelling.
routeVoorvoegsel API Het routevoorvoegsel dat van toepassing is op alle routes. Gebruik een lege tekenreeks om het standaardvoorvoegsel te verwijderen.

identiteitskaart

De unieke ID voor een taakbeheerder. Kan een GUID in kleine letters met verwijderde streepjes zijn. Vereist bij lokale uitvoering. Wanneer u in Azure werkt, wordt u aangeraden geen id-waarde in te stellen. Er wordt automatisch een id gegenereerd in Azure wanneer id deze wordt weggelaten.

Als u een opslagaccount deelt in meerdere functie-apps, moet u ervoor zorgen dat elke functie-app een andere idheeft. U kunt de id eigenschap weglaten of elke functie-app id handmatig instellen op een andere waarde. De timertrigger maakt gebruik van een opslagvergrendeling om ervoor te zorgen dat er slechts één timerexemplaar is wanneer een functie-app wordt uitgebreid tot meerdere exemplaren. Als twee functie-apps hetzelfde id delen en elk een timertrigger gebruikt, wordt slechts één timer uitgevoerd.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

logboek

Hiermee bepaalt u het filteren van logboeken die zijn geschreven door een ILogger-object of door context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Eigendom Standaard Beschrijving
categoryFilter n.v.t Specificeert filteren op categorie
standaardniveau Gegevens Voor alle categorieën die niet in de categoryLevels matrix zijn opgegeven, verzendt u logboeken op dit niveau en hoger naar Application Insights.
categorieniveaus n.v.t Een matrix met categorieën die het minimale logboekniveau specificeert dat moet worden verzonden naar Application Insights voor elke categorie. De categorie die hier wordt opgegeven, bepaalt alle categorieën die beginnen met dezelfde waarde en langere waarden hebben voorrang. In het voorgaande voorbeeldbestand host.json worden alle categorieën die beginnen met "Host.Aggregator" gelogd op Information niveau. Alle andere categorieën die beginnen met 'Host', zoals 'Host.Executor', loggen op Error niveau.

wachtrijen

Configuratie-instellingen voor opslagwachtrijtriggers en -bindingen.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Eigendom Standaard Beschrijving
maxPollingInterval 60000 Het maximale interval in milliseconden tussen wachtrijpeilingen.
zichtbaarheidstijdslimiet 0 Het tijdsinterval tussen herhaalde pogingen wanneer de verwerking van een bericht mislukt.
batchgrootte 16 Het aantal wachtrijberichten dat de Functions-runtime tegelijkertijd ophaalt en parallel verwerkt. Wanneer het aantal dat wordt verwerkt daalt tot newBatchThreshold, haalt de runtime een andere batch op en begint deze berichten te verwerken. Het maximum aantal gelijktijdige berichten dat per functie wordt verwerkt, is batchSize dus plus newBatchThreshold. Deze limiet geldt afzonderlijk voor elke functie die door de wachtrij wordt geactiveerd.

Als u parallelle uitvoering wilt voorkomen voor berichten die in één wachtrij zijn ontvangen, kunt u instellen batchSize op 1. Deze instelling elimineert echter alleen gelijktijdigheid zolang uw functie-app wordt uitgevoerd op één virtuele machine (VM). Als de functie-app wordt uitgeschaald naar meerdere VM's, kan elke VM één exemplaar van elke door de wachtrij geactiveerde functie uitvoeren.

Het maximum batchSize is 32.
MaximalAantalUitwachtingen 5 Het aantal keren dat u een bericht wilt verwerken voordat u het naar de gifwachtrij verplaatst.
newBatchThreshold batchSize/2 Telkens wanneer het aantal berichten dat gelijktijdig wordt verwerkt tot deze hoeveelheid daalt, haalt de runtime een nieuwe batch op.

SendGrid

Configuratie-instelling voor de SendGrind-uitvoerbinding

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Eigendom Standaard Beschrijving
van n.v.t Het e-mailadres van de afzender in alle functies.

serviceBus

Configuratie-instelling voor Service Bus-triggers en -bindingen.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Eigendom Standaard Beschrijving
maximale gelijktijdige oproepen 16 Het maximale aantal gelijktijdige oproepen naar de callback dat de message pump zou moeten initiëren. Standaard verwerkt de Functions-runtime meerdere berichten gelijktijdig. Als u de runtime wilt leiden om slechts één wachtrij of onderwerpbericht tegelijk te verwerken, stelt u in op maxConcurrentCalls 1.
voorladenAantal n.v.t De standaard PrefetchCount die zal worden gebruikt door de onderliggende ServiceBusReceiver.
autoRenewTimeout 00:05:00 De maximale duur waarin de berichtvergrendeling automatisch wordt vernieuwd.
automatisch aanvullen waar Wanneer waar, voltooit de trigger de berichtverwerking automatisch bij een geslaagde uitvoering van de bewerking. Indien onwaar, is het de verantwoordelijkheid van de functie om het bericht te voltooien voordat het wordt geretourneerd.

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"
    }
}
Eigendom Standaard Beschrijving
vergrendelingsperiode 00:00:15 De periode waarvoor functieniveauvergrendelingen worden gebruikt. De vergrendeling wordt automatisch vernieuwd.
luisteraarvergrendelingsperiode 00:01:00 De periode waarvoor listenervergrendelingen worden gebruikt.
Herstelinterval voor polling van luisteraarvergrendeling 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 tijd dat de runtime probeert een lock te verkrijgen.
lockAcquisitionPollingInterval n.v.t Het interval tussen pogingen om vergrendeling te verkrijgen.

traceren

Versie 1.x

Configuratie-instellingen voor logboeken die u maakt met behulp van een TraceWriter object. Zie [C#-logboekregistratie] voor meer informatie.

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Eigendom Standaard Beschrijving
consoleNiveau informatie Het traceerniveau voor consolelogging. Opties zijn: off, error, warning, en infoverbose.
bestand-logboekmodus alleen voor foutopsporing Het traceringsniveau voor logboekregistratie van bestanden. Opties zijnnever, always, . debugOnly

watchDirectories

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

{
    "watchDirectories": [ "Shared" ]
}

Volgende stappen