Condividi tramite


Informazioni di riferimento su host.json per Funzioni di Azure 1.x

Il file di metadati host.json contiene opzioni di configurazione che influiscono su tutte le funzioni in un'istanza dell'app per le funzioni. Questo articolo elenca le impostazioni disponibili per il runtime 1.x. Lo schema JSON è disponibile all'indirizzo http://json.schemastore.org/host.

Nota

Questo articolo riguarda Funzioni di Azure 1.x. Per informazioni di riferimento su host.json in Funzioni 2.x e versioni successive, vedere informazioni di riferimento host.json per Funzioni di Azure 2.x.

Altre opzioni di configurazione di app per le funzioni sono gestite nelle impostazioni dell'app.

Alcune impostazioni host.json vengono usate solo nell'esecuzione in locale nel file local.settings.json.

File di esempio host.json

I file di esempio host.json seguenti hanno tutte le possibili opzioni specificate.

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

Le sezioni seguenti di questo articolo illustrano ogni proprietà di livello superiore. Tutte sono facoltative se non diversamente specificato.

aggregator

Specifica il numero di chiamate di funzione che vengono aggregate quando si esegue il calcolo della metrica per Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Proprietà Predefinito Descrizione
dimensione del batch 1000 Numero massimo di richieste da aggregare.
flushTimeout 00:00:30 Intervallo massimo da aggregare.

Le chiamate di funzione vengono aggregate quando il primo dei due limiti viene raggiunto.

Analisi delle applicazioni

Controlla le funzionalità di campionamento in Application Insights.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Proprietà Predefinito Descrizione
èAbilitato true Abilita o disabilita il campionamento.
maxTelemetryItemsPerSecond 5 La soglia oltre la quale viene avviato il campionamento.

DocumentDB

Le impostazioni di configurazione per i trigger e le associazioni di Azure Cosmos DB.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Proprietà Predefinito Descrizione
GatewayMode Portale La modalità di connessione usata dalla funzione durante la connessione al servizio di Azure Cosmos DB. Le opzioni sono Direct e Gateway
Protocollo Https Il protocollo di connessione usato dalla funzione durante la connessione al servizio di Azure Cosmos DB. Leggere qui per una spiegazione di entrambe le modalità
leasePrefix n/d Prefisso di lease da usare in tutte le funzioni in un'app.

durableTask

Impostazioni di configurazione per Funzioni permanenti.

Nota

Tutte le versioni principali di Durable Functions sono supportate in tutte le versioni del runtime di Funzioni di Azure. Tuttavia, lo schema della configurazione host.json varia leggermente a seconda della versione del runtime di Funzioni di Azure e della versione dell'estensione Durable Functions usata.

Il codice seguente fornisce due esempi di durableTask impostazioni in host.json: una per Durable Functions 2.x e una per Durable Functions 1.x. È possibile usare entrambi gli esempi con Funzioni di Azure 2.0 e 3.0. Con Funzioni di Azure 1.0, le impostazioni disponibili sono le stesse, ma la durableTask sezione di host.json si trova nella radice della configurazione host.json anziché essere un campo in 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
  }
 }
}
Proprietà Valore predefinito Descrizione
hubName TestHubName (DurableFunctionsHub nella versione 1.x) Nome dell'hub che archivia lo stato corrente di un'app per le funzioni. I nomi degli hub attività devono iniziare con una lettera e contenere solo lettere e numeri. Se non si specifica un nome, viene usato il valore predefinito. I nomi alternativi degli hub delle attività possono essere usati per isolare più applicazioni Durable Functions tra loro, anche se usano lo stesso backend di archiviazione. Per ulteriori informazioni, vedere Task hubs.
defaultVersion Versione predefinita da assegnare alle nuove istanze di orchestrazione. Quando si specifica una versione, le nuove istanze di orchestrazione vengono associate in modo permanente a questo valore di versione. Questa impostazione è usata dalla funzionalità di controllo delle versioni dell'orchestrazione per abilitare scenari come distribuzioni senza tempi di inattività con modifiche di rilievo. È possibile utilizzare qualsiasi stringa di testo per la versione.
versionMatchStrategy CurrentOrOlder Un valore che specifica come le versioni di orchestrazione vengono abbinate quando vengono caricate le funzioni di orchestrazione. I valori validi sono None, Stricte CurrentOrOlder. Per spiegazioni dettagliate, vedere Versionamento dell'orchestrazione.
versionFailureStrategy Rifiutare Valore che specifica cosa accade quando una versione di orchestrazione non corrisponde al valore corrente defaultVersion . I valori validi sono Reject e Fail. Per spiegazioni dettagliate, vedere Controllo delle versioni dell'orchestrazione.
controlQueueBatchSize 32 Numero di messaggi di cui eseguire il pull dalla coda di controllo contemporaneamente.
controlQueueBufferThreshold Piano a consumo per Python: 32
Piano di consumo per altre lingue: 128
Piano dedicato o Premium: 256
Numero di messaggi della coda di controllo che possono essere bufferizzati in memoria simultaneamente. Quando viene raggiunto il numero specificato, il dispatcher attende prima di rimuovere dalla coda altri messaggi. In alcune situazioni, la riduzione di questo valore può ridurre significativamente il consumo di memoria.
numero di partizioni 4 Numero di partizioni per la coda di controllo. Questo valore deve essere un numero intero positivo compreso tra 1 e 16. La modifica di questo valore richiede la configurazione di un nuovo hub delle attività.
controlQueueVisibilityTimeout 00:05:00 Timeout di visibilità dei messaggi rimossi dalla coda di controllo in formato hh:mm:ss.
workItemQueueVisibilityTimeout 00:05:00 Timeout di visibilità dei messaggi rimossi dalla coda degli elementi di lavoro in formato hh:mm:ss.
RecuperaMessaggiGrandiAutomaticamente true Valore che specifica se recuperare messaggi di grandi dimensioni nelle query sullo stato dell'orchestrazione. Quando questa impostazione è true, vengono recuperati messaggi di grandi dimensioni che superano il limite di dimensioni della coda. Quando questa impostazione è false, viene recuperato un URL BLOB che punta a ogni messaggio di grandi dimensioni.
maxConcurrentActivityFunctions Piano a consumo: 10
Piano dedicato o Premium: 10 volte il numero di processori nel computer corrente
Numero massimo di funzioni di attività che possono essere elaborate contemporaneamente in una singola istanza host.
maxConcurrentOrchestratorFunctions Piano di consumo: cinque
Piano dedicato o Premium: 10 volte il numero di processori nel computer corrente
Numero massimo di funzioni dell'agente di orchestrazione che possono essere elaborate contemporaneamente in una singola istanza host.
maxConcurrentEntityFunctions Piano di consumo: cinque
Piano dedicato o Premium: 10 volte il numero di processori nel computer corrente
Numero massimo di funzioni di entità che possono essere elaborate simultaneamente in una singola istanza host. Questa impostazione è applicabile solo quando si usa l'utilità di pianificazione dell'attività durevole. In caso contrario, il numero massimo di esecuzioni simultanee di entità è limitato al valore maxConcurrentOrchestratorFunctions.
maxQueuePollingInterval 00:00:30 Intervallo massimo di polling della coda di controllo e degli elementi di lavoro nel formato hh:mm:ss. Valori più elevati possono comportare un incremento della latenza nell'elaborazione dei messaggi. Valori inferiori possono comportare un incremento dei costi di archiviazione a causa dell'aumento del numero di transazione di archiviazione.
maxOrchestrationActions 100,000 Numero massimo di azioni che una funzione dell'agente di orchestrazione può eseguire durante un singolo ciclo di esecuzione.
connectionName (v2.7.0 e versioni successive)
connectionStringName (v2.x)
azureStorageConnectionStringName (v1.x)
AzureWebJobsStorage Nome di un'impostazione o di una raccolta di impostazioni dell'app che specifica come connettersi alle risorse Archiviazione di Azure sottostanti. Quando si specifica una singola impostazione dell'app, deve essere una stringa di connessione di Azure Storage.
trackingStoreConnectionName (v2.7.0 e versioni successive)
trackingStoreConnectionStringName
Nome di un'impostazione o di una raccolta di impostazioni dell'app che specifica come connettersi alle tabelle Cronologia e Istanze, che archivia la cronologia di esecuzione e i metadati relativi alle istanze di orchestrazione. Quando si specifica una singola impostazione dell'app, deve trattarsi di una stringa di connessione di Archiviazione di Azure. Se non specifichi un'impostazione, viene utilizzato il valore di connessione connectionStringName (v2.x) o il valore di connessione azureStorageConnectionStringName (v1.x).
trackingStoreNamePrefix Prefisso da usare per le tabelle Cronologia e Istanze quando si specifica trackingStoreConnectionStringName. Se non si specifica un prefisso, viene usato il valore predefinito di DurableTask . Se trackingStoreConnectionStringName non viene specificato, le tabelle Cronologia e Istanze usano il hubName valore come prefisso e l'impostazione trackingStoreNamePrefix viene ignorata.
traceInputsAndOutputs falso Valore che indica se tracciare gli input e gli output delle chiamate di funzione. Quando vengono tracciati gli eventi di esecuzione delle funzioni, il comportamento predefinito consiste nell'includere il numero di byte negli input serializzati e negli output per le chiamate di funzione. Questo comportamento fornisce informazioni minime sugli input e sugli output, per evitare di ingrossare i registri o di esporre inavvertitamente informazioni sensibili. Quando questa proprietà è true, vengono registrati l'intero contenuto degli input e degli output della funzione.
traceReplayEvents falso Un valore che indica se scrivere eventi di riproduzione di orchestrazione in Application Insights.
logReplayEvents falso Valore che indica se registrare le esecuzioni riprodotte nei log applicazioni.
eventGridTopicEndpoint URL di un endpoint di un argomento personalizzato di Griglia di eventi di Azure. Quando si imposta questa proprietà, gli eventi di notifica del ciclo di vita dell'orchestrazione vengono pubblicati in questo endpoint. Questa proprietà supporta la risoluzione delle impostazioni dell'app.
eventGridKeySettingName Nome dell'impostazione dell'app che contiene la chiave usata per l'autenticazione con l'argomento personalizzato di Griglia di eventi nell'URL EventGridTopicEndpoint .
eventGridPublishRetryCount 0 Numero di tentativi se la pubblicazione nell'argomento griglia di eventi ha esito negativo.
eventGridPublishRetryInterval 00:05:00 Intervallo fra i tentativi di pubblicazione in Griglia di eventi nel formato hh:mm:ss.
eventGridPublishEventTypes Elenco dei tipi di evento da pubblicare in Griglia di eventi. Se non si specifica alcun tipo, vengono pubblicati tutti i tipi di evento. I valori consentiti includono Started, CompletedFailed, e Terminated.
extendedSessionsEnabled falso Valore che specifica se le sessioni dell'agente di orchestrazione della sessione e delle funzioni di entità vengono memorizzate nella cache.
extendedSessionIdleTimeoutInSeconds 30 Numero di secondi in cui un agente di orchestrazione o una funzione di entità inattiva rimane in memoria prima di essere scaricata. Questa impostazione viene usata solo quando l'impostazione extendedSessionsEnabled è true.
usaAppLease true Valore che indica se le app devono acquisire un lease BLOB a livello di applicazione prima di elaborare i messaggi dell'hub attività. Per altre informazioni, vedere Ripristino di emergenza e distribuzione geografica in Durable Functions. Questa impostazione è disponibile a partire dalla versione 2.3.0.
useLegacyPartitionManagement falso Valore che specifica il tipo di algoritmo di gestione delle partizioni da utilizzare. Quando questa impostazione è false, viene usato un algoritmo che riduce la possibilità di esecuzione di funzioni duplicate quando si aumenta il numero di istanze. Questa impostazione è disponibile a partire dalla versione 2.3.0. L'impostazione di questo valore su true non è consigliata.
useTablePartitionManagement In v3.x: vero
In v2.x: false
Valore che specifica il tipo di algoritmo di gestione delle partizioni da utilizzare. Quando questa impostazione è true, viene usato un algoritmo progettato per ridurre i costi per gli account di Archiviazione di Azure v2. Questa impostazione è disponibile a partire da WebJobs.Extensions.DurableTask v2.10.0. L'uso di questa impostazione con un'identità gestita richiede WebJobs.Extensions.DurableTask v3.x o versione successiva oppure Worker.Extensions.DurableTask v1.2.x o versione successiva.
useGracefulShutdown falso (Anteprima) Un valore che indica se eseguire l'arresto in modo graduale per ridurre la probabilità che gli arresti dell'host causino il fallimento delle esecuzioni di funzioni in-process.
maxEntityOperationBatchSize Piano a consumo: 50
Piano dedicato o Premium: 5.000
Numero massimo di operazioni di entità elaborate come batch. Se questo valore è 1, l'invio in batch è disabilitato e una chiamata di funzione separata elabora ogni messaggio dell'operazione. Questa impostazione è disponibile a partire dalla versione 2.6.1.
storeInputsInOrchestrationHistory falso Valore che specifica come archiviare gli input. Quando questa impostazione è true, il Durable Task Framework salva gli input delle attività nella tabella Cronologia e gli input delle funzioni delle attività appaiono nei risultati delle query sulla cronologia dell'orchestrazione.
maxGrpcMessageSizeInBytes 4,194,304 Valore intero che imposta le dimensioni massime, in byte, dei messaggi che possono essere ricevuti dal client generico Remote Procedure Call (gRPC). L'implementazione di DurableTaskClient usa il client gRPC per gestire le istanze di orchestrazione. Questa impostazione si applica ai ruoli di lavoro isolati di Funzioni permanenti .NET e alle app Java.
grpcHttpClientTimeout 00:01:40 Timeout in formato hh:mm:ss per il client HTTP usato dal client gRPC in Durable Functions. Il client è attualmente supportato per le app di lavoro isolate .NET (.NET 6 e versioni successive) e per le app Java.
QueueClientMessageEncoding UTF8 Strategia di codifica per i messaggi di Archiviazione code di Azure. Le strategie valide sono Formato trasformazione Unicode a 8 bit (UTF8) e Base64. Questa impostazione si applica quando si usa Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 o versione successiva oppure Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 o versione successiva.

Molte di queste impostazioni vengono usate per ottimizzare le prestazioni. Per altre informazioni, vedere Prestazioni e scalabilità.

eventHub

Impostazioni di configurazione per i trigger e le associazioni dell'Event Hub.

funzioni

Un elenco di funzioni eseguite dall'host di lavoro. Una matrice vuota indica l’esecuzione di tutte le funzioni. Deve essere utilizzato solo in caso di esecuzione in locale. In app per le funzioni in Azure è necessario invece seguire i passaggi descritti in Come disabilitare le funzioni in Funzioni di Azure per disabilitare le funzioni specifiche invece di usare questa impostazione.

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

functionTimeout

Indica la durata del timeout per tutte le funzioni. In un piano di consumo serverless l'intervallo valido va da 1 secondo a 10 minuti e il valore predefinito è 5 minuti. In un piano di servizio app non esiste alcun limite complessivo e il valore predefinito è Null, che indica che non esiste alcun timeout.

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

healthMonitor

Impostazioni di configurazione per il monitoraggio integrità host.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Proprietà Predefinito Descrizione
Enabled true Indica se la funzionalità è abilitata.
healthCheckInterval 10 secondi Intervallo di tempo tra i controlli dell'integrità periodici in background.
healthCheckWindow 2 minuti Intervallo temporale scorrevole utilizzato con l'impostazione healthCheckThreshold .
healthCheckThreshold 6 Numero massimo di volte in cui il controllo dell'integrità può non riuscire prima che venga avviato un riciclo host.
counterThreshold 0,80 Soglia a partire dalla quale un contatore delle prestazioni verrà considerato non integro.

http

Impostazione di configurazione per i trigger e le associazioni http.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Proprietà Predefinito Descrizione
dynamicThrottlesEnabled falso Se abilitata, questa impostazione fa sì che la pipeline di elaborazione delle richieste controlli periodicamente contatori delle prestazioni del sistema come connessioni/thread/processi/memoria/cpu/ecc. e se uno di questi contatori supera una soglia elevata predefinita (80%), le richieste vengono rifiutate con una risposta "Troppo occupato" 429 fino a quando i contatori non tornano a livelli normali.
maxConcurrentRequests illimitato (-1) Numero massimo di funzioni HTTP che verranno eseguite in parallelo. Ciò consente di controllare la concorrenza e pertanto di semplificare la gestione dell'uso delle risorse. Ad esempio, si potrebbe avere una funzione HTTP che usa molte risorse di sistema (memoria/cpu/sockets) in modo che causi problemi quando la concorrenza è troppo elevata. Oppure potrebbe essere presente una funzione che invia richieste a un servizio di terze parti e tali chiamate devono essere a frequenza limitata. In questi casi potrebbe risultare utile l'applicazione di una limitazione.
maxOutstandingRequests illimitato (-1) Il numero massimo di richieste in sospeso che possono essere mantenute in un dato momento. Questo limite include le richieste che vengono messe in coda ma non hanno avviato l'esecuzione e le esecuzioni in corso. Le richieste in arrivo che superano questo limite vengono rifiutate con la risposta 429 "Occupato". Ciò consente ai chiamanti di usare strategie di ripetizione dei tentativi basate sul tempo e di controllare la latenza massima delle richieste. Questa impostazione controlla solo l'accodamento che si verifica all'interno del percorso di esecuzione dell'host dello script. Altre code, ad esempio la coda di richieste ASP.NET, saranno valide e non interessate da questa impostazione.
prefisso di percorso api Il prefisso della route che si applica a tutte le route. Utilizzare una stringa vuota per rimuovere il prefisso predefinito.

id

ID univoco per l'host di processo. Può essere una GUID con lettera minuscola con trattini rimossi. Necessaria durante l'esecuzione locale. Durante l'esecuzione in Azure, è consigliabile non impostare un valore ID. Un ID viene generato automaticamente in Azure quando viene omesso id.

Se si condivide un account di archiviazione tra più app per le funzioni, assicurarsi che ogni app abbia un valore diverso per id. È possibile omettere la proprietà id o impostare manualmente la proprietà id di ogni app per le funzioni su un valore diverso. Il trigger timer usa un blocco dell'archiviazione per garantire che vi sia una sola istanza del timer quando un'app per le funzioni viene scalata orizzontalmente a più istanze. Se due app per le funzioni condividono la stessa proprietà id e ognuna usa un trigger timer, viene eseguito solo un timer.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

logger

Controlla le operazioni di filtro per i log scritti da un oggetto ILogger o context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Proprietà Predefinito Descrizione
filtro di categoria n/d Specifica il filtro per categoria
livelloPredefinito Informazioni Per qualsiasi categoria non specificata nella matrice categoryLevels, inviare i log a questo livello e oltre ad Application Insights.
categoryLevels n/d Una matrice di categorie che specifica il livello di log minimo per l'invio ad Application Insights per ogni categoria. La categoria specificata qui controlla tutte le categorie che iniziano con lo stesso valore, e i valori più lunghi hanno la precedenza. Nel file di esempio precedente host.json, tutte le categorie che iniziano "Host.Aggregator" eseguono il log al livello Information. Tutte le altre categorie che iniziano con "Host", ad esempio "Host.Executor", eseguono il log al livello Error.

queues

Impostazione di configurazione per i trigger e le associazioni per code di archiviazione.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Proprietà Predefinito Descrizione
maxPollingInterval 60000 L'intervallo massimo, in millisecondi, tra i polling di coda.
visibilityTimeout 0 L'intervallo di tempo tra i tentativi se l'elaborazione di un messaggio ha esito negativo.
dimensione del batch 16 Il numero di messaggi in coda che il runtime di Funzioni recupera simultaneamente e di processi in parallelo. Quando il numero elaborato viene ridotto a newBatchThreshold, il runtime ottiene un altro batch e inizia l'elaborazione dei messaggi. Di conseguenza, il numero massimo di messaggi simultanei elaborati per ogni funzione è batchSize più newBatchThreshold. Questo limite si applica separatamente a ogni funzione attivata dalla coda.

Se si vuole evitare l'esecuzione in parallelo per i messaggi ricevuti su una coda, è possibile impostare batchSize su 1. Tuttavia, questa impostazione elimina solo la concorrenza se l'app per le funzioni viene eseguita su una singola macchina virtuale (VM). Se l'app per le funzioni scala orizzontalmente più macchine virtuali, ogni macchina virtuale potrebbe eseguire un'istanza di ogni funzione attivata dalla coda.

Il valore massimo per batchSize è 32.
maxDequeueCount 5 Il numero di volte per provare l'elaborazione di un messaggio prima di essere spostato nella coda non elaborabile.
newBatchThreshold batchSize/2 Ogni volta che il numero di messaggi elaborati simultaneamente viene ridotto a questo numero, il runtime recupera un altro batch.

SendGrid

Impostazione di configurazione per l'associazione di output SendGrind

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Proprietà Predefinito Descrizione
da n/d Indirizzo di posta elettronica del mittente in tutte le funzioni.

serviceBus

Impostazione di configurazione per i trigger e le associazioni del Service Bus.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Proprietà Predefinito Descrizione
maxConcurrentCalls 16 Il numero massimo di chiamate simultanee al callback che il message pump deve avviare. Per impostazione predefinita, il runtime di Funzioni elabora più messaggi contemporaneamente. Per fare in modo che il runtime elabori un solo messaggio della coda o dell'argomento alla volta, impostare maxConcurrentCalls su 1.
prefetchCount n/d Il valore predefinito di PrefetchCount che verrà utilizzato per il ServiceBusReceiver sottostante.
autoRenewTimeout 00:05:00 La durata massima entro il quale il blocco del messaggio verrà rinnovato automaticamente.
Completamento automatico true Se true, il trigger completa automaticamente l'elaborazione del messaggio al completamento dell'esecuzione dell'operazione. Se false, è responsabilità della funzione completare il messaggio prima della restituzione.

singleton

Impostazioni di configurazione per il comportamento di blocco Singleton. Per ulteriori informazioni, vedere la questione GitHub sul supporto singleton.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Proprietà Predefinito Descrizione
periodo di blocco 00:00:15 Il periodo per cui vengono eseguiti blocchi a livello di funzione. I lucchetti si rinnovano automaticamente.
listenerLockPeriod 00:01:00 Il periodo per cui vengono acquisiti blocchi di listener.
listenerLockRecoveryPollingInterval 00:01:00 L'intervallo di tempo utilizzato per il ripristino di un blocco listener se non è stato possibile acquisire un blocco di listener all'avvio.
lockAcquisitionTimeout 00:01:00 La quantità massima di tempo per cui il runtime tenta di acquisire un blocco.
lockAcquisitionPollingInterval n/d L'intervallo tra i tentativi di acquisizione di un blocco.

tracing

Versione 1.x

Le impostazioni di configurazione per i log creati usando un oggetto TraceWriter. Per altre informazioni, vedere [Registrazione C#].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Proprietà Predefinito Descrizione
consoleLevel Informazioni Il livello di traccia per la registrazione della console. Le opzioni sono: off, error, warning, info e verbose.
fileLoggingMode debugOnly Il livello di traccia per la registrazione di file. Le opzioni sono never, always, debugOnly.

watchDirectories

Un insieme di directory di codice condiviso da monitorare per eventuali modifiche. Assicura che quando viene modificato il codice in queste directory, le modifiche vengono accolte dalle tue funzioni.

{
    "watchDirectories": [ "Shared" ]
}

Passaggi successivi