host.json referens för Azure Functions 1.x

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 för version 1.x-körningen. JSON-schemat finns på http://json.schemastore.org/host.

Anteckning

Den här artikeln bevarar host.json referensen för Azure Functions runtime 1.x. För annan historisk information, se referensen för runtime 1.x legacy. För den aktuella host.json referensen, se host.json referens för Azure Functions 2.x och senare.

Andra konfigurationsalternativ för funktionsappar hanteras i appinställningarna.

Vissa host.json inställningar används bara när de körs lokalt i local.settings.json-filen.

Exempel på host.json fil

Följande exempel host.json filer har alla möjliga alternativ angivna.

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

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

Samlare

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

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Egendom Standardvärde beskrivning
batchSize 1 000 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.

Applikationsinsikter

Styr samplingsfunktionen i Application Insights.

{
        "applicationInsights": {
                "sampling": {
                    "isEnabled": true,
                    "maxTelemetryItemsPerSecond" : 5
                }
        }
}
Egendom Standardvärde beskrivning
isEnabled sann Aktiverar eller inaktiverar sampling.
maxTelemetryItemsPerSecond 5 Tröskelvärdet då samplingen börjar.

DocumentDB

Konfigurationsinställningar för utlösaren och bindningarna Azure Cosmos DB.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Egendom Standardvärde beskrivning
Gateway-läge Gateväg Anslutningsläget som används av funktionen när du ansluter till Azure Cosmos DB-tjänsten. Alternativen är Direct och Gateway
Protokoll Https Anslutningsprotokollet som används av funktionen när du ansluter till Azure Cosmos DB-tjänsten. Läs här för en förklaring av båda lägena
leasePrefix saknas Lease-prefix att använda för alla funktioner i en app.

hållbar uppgift

Konfigurationsinställningar för Durable Functions.

I Azure Functions runtime 1.x är sektionen durableTask roten ihost.json-filen. De tillgängliga inställningarna beror på versionen av Durable Functions-tillägget. För aktuell konfigurationsreferens, se Durable Functions host.json inställningar.

eventHub

Konfigurationsinställningar för Event Hub-utlösare och bindningar.

funktioner

En lista över funktioner som värdprogrammet 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 Så här inaktiverar du 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änsens varaktighet för alla funktioner. I en serverlös förbrukningsplan är det giltiga intervallet från 1 sekund till 10 minuter och standardvärdet är 5 minuter. I en App Service-plan finns det ingen total gräns och standardvärdet är null, vilket indikerar ingen tidsgräns.

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

hälsovervakning

Konfigurationsinställningar för Host health monitor.

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

http

Konfigurationsinställningar för HTTP-triggers och bindningar.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Egendom Standardvärde beskrivning
dynamiskaBegränsningarAktiverade falskt När den här inställningen är aktiverad gör den att pipelinen för bearbetning av begäranden regelbundet kontrollerar systemprestandaräknare som anslutningar/trådar/processer/minne/cpu/etc. och om någon av dessa räknare överskrider ett inbyggt högt tröskelvärde (80 %), avvisas begäranden med ett svar på 429 "För upptagen" tills räknarna återgår till normala nivåer.
maximalt antal samtidiga förfrågningar obunden (-1) Det maximala antalet HTTP-funktioner som ska köras parallellt. På så sätt kan du kontrollera samtidighet, vilket kan hjälpa dig att hantera resursutnyttjande. Du kan till exempel ha en HTTP-funktion som använder många systemresurser (minne/cpu/sockets) så att den orsakar problem när samtidigheten är för hög. Eller så kan du ha en funktion som gör utgående begäranden till en tjänst från tredje part, och dessa anrop måste vara frekvensbegränsade. I dessa fall kan det vara till hjälp att tillämpa en begränsning här.
maxAntalUteståendeFörfrågningar obunden (-1) Det maximala antalet utestående förfrågningar som hanteras vid varje given tidpunkt. Den här gränsen omfattar begäranden som är i kö men som inte har börjat köras och eventuella pågående körningar. Inkommande begäranden över den här gränsen avvisas med ett svar på 429 "För upptagen". Det gör det möjligt för anropare att använda tidsbaserade återförsöksstrategier och hjälper dig också att kontrollera maximala svarstider för begäranden. Detta styr bara köhantering som inträffar inom skriptvärdens exekveringsväg. Andra köer, till exempel ASP.NET begärandekön, kommer fortfarande att vara i kraft och påverkas inte av den här inställningen.
routPrefix API Routningsprefixet som gäller för alla vägar. Använd en tom sträng för att ta bort standardprefixet.

Id-nummer

Det unika ID:t för en jobbhanteringsserver. Kan vara ett GUID med små bokstäver och utan bindestreck. Krävs när du kör lokalt. När du kör i Azure rekommenderar vi att du inte anger något ID-värde. Ett ID genereras automatiskt i Azure när id utelämnas.

Om du delar ett Lagringskonto mellan flera funktionsappar kontrollerar du att varje funktionsapp har olika id. Du kan utelämna egenskapen id eller manuellt ange ett annat värde för varje funktionsapp id . Timerutlösaren använder ett lagringslås för att säkerställa att det bara finns en timerinstans när en funktionsapp skalar ut till flera instanser. Om två funktionsappar delar samma id och var och en använder en timerutlösare körs bara en timer.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

Loggningsprogram

Styr filtrering för loggar som skrivits av ett ILogger-objekt eller av context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Egendom Standardvärde beskrivning
kategorifilter saknas Anger filtrering efter kategori
defaultNivå Information För kategorier som inte har angetts i matrisen categoryLevels skickar du loggar på den här nivån och senare till Application Insights.
kategorinivåer saknas En matris med kategorier som anger den minsta loggnivå som ska skickas till Application Insights för varje kategori. Kategorin som anges här styr alla kategorier som börjar med samma värde, och längre värden har företräde. I föregående exempel på host.json-filen loggas alla kategorier som börjar med "Host.Aggregator" på Information-nivå. Alla andra kategorier som börjar med "Host", till exempel "Host.Executor", loggar på Error nivå.

köer

Konfigurationsinställningar för lagerköutlösare och bindningar.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Egendom Standardvärde beskrivning
maximal avfrågningsintervall 60000 Maximalt intervall i millisekunder mellan kömätningar.
synlighetFördröjning 0 Tidsintervallet mellan återförsök när bearbetningen av ett meddelande misslyckas.
batchstorlek 16 Antalet kömeddelanden som Functions-körningen hämtar samtidigt och processas parallellt. När talet som bearbetas kommer ned till newBatchThreshold, hämtar programmet en annan omgång och börjar bearbeta dessa meddelanden. Så det maximala antalet samtidiga meddelanden som bearbetas per funktion är batchSize plus newBatchThreshold. Den här gränsen gäller separat för varje köutlöst funktion.

Om du vill undvika parallell körning för meddelanden som tas emot i en kö kan du ange batchSize till 1. Den här inställningen eliminerar dock endast samtidighet så länge funktionsappen körs på en enda virtuell dator (VM). Om funktionsappen skalas ut till flera virtuella datorer kan varje virtuell dator köra en instans av varje köaktiverad funktion.

Maxvärdet batchSize är 32.
maxDequeueCount 5 Antalet gånger du försöker bearbeta ett meddelande innan du flyttar det till giftkön.
nyBatchGränsvärde batchSize/2 När antalet meddelanden som bearbetas samtidigt minskar till det här antalet, hämtar körtiden ett annat parti.

SendGrid

Konfigurationsinställning för SendGrid-utgångsbindningen.

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Egendom Standardvärde beskrivning
från saknas Avsändarens e-postadress för alla funktioner.

serviceBus

Konfigurationsinställning för Service Bus utlösare och bindningar.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Egendom Standardvärde beskrivning
maximalt antal samtidiga samtal 16 Det maximala antalet samtidiga anrop till återanropet som meddelandepumpen ska initiera. Som standard bearbetar Functions-körningen flera meddelanden samtidigt. Om du vill dirigera körningen till att endast bearbeta en enskild kö eller ett ämnesmeddelande i taget anger du maxConcurrentCalls till 1.
prefetchCount saknas PrefetchCount-standardvärdet som ska användas av den underliggande ServiceBusReceiver:n.
automatisk förnyelse tidsgräns 00:05:00 Den maximala varaktighet inom vilken meddelandelåset förnyas automatiskt.
automatiskt slutförande sann När det är sant slutför utlösaren automatiskt meddelandebearbetningen vid framgångsrik operation. När det är falskt är det funktionens ansvar att slutföra meddelandet innan det returneras.

Ensamstående objekt

Konfigurationsinställningar för Singleton-låsbeteende. Mer information finns i GitHub-ärende om singletonsupport.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Egendom Standardvärde beskrivning
låsningsperiod 00:00:15 Den tidsperiod under vilken lås på funktionsnivå tas. Låsen förnyas automatiskt.
lyssnarlåsningsperiod 00:01:00 Den period som lyssnarlås är tagna för.
listenerLockÅterställningsPollIntervall 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 tidsmängd som körtiden försöker att erhålla ett lås.
lockAcquisitionPollingInterval saknas Intervallet mellan försök att få låsning.

Spårning

Version 1.x

Konfigurationsinställningar för loggar som du skapar med hjälp av ett TraceWriter objekt. Mer information finns i [C#-loggning].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Egendom Standardvärde beskrivning
konsolenivå information Spårningsnivån för konsolloggning. Alternativen är: off, error, warning, infooch verbose.
filLoggningsläge endast felsökning Spårningsnivån för filloggning. Alternativen är never, always, debugOnly.

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

Nästa steg