Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nakonfigurujte nastavení Durable Functions v souboru host.json pro řízení chování centra úloh, poskytovatelů úložiště a možností výkonu vaší aplikace Azure Functions. Informace o obecných nastaveních v host.json najdete v referenčních informacích host.json pro Azure Functions 1.x nebo host.json pro Azure Functions 2.x a novější.
Nastavení konfigurace pro Durable Functions
Note
Všechny hlavní verze Durable Functions jsou podporovány ve všech verzích modulu runtime Azure Functions. Schéma konfigurace host.json se ale mírně liší v závislosti na verzi modulu runtime Azure Functions a verzi rozšíření Durable Functions, kterou používáte.
Následující kód obsahuje dva příklady nastavení durableTask v host.json: jeden pro Durable Functions 2.x a druhý pro Durable Functions 1.x. Oba příklady můžete použít s Azure Functions 2.0 a 3.0. S Azure Functions 1.0 jsou dostupná nastavení stejná, ale část durableTask v souboru host.json se nachází v kořenovém adresáři konfigurace host.json místo toho, aby byla polem pod 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,
},
"httpSettings":{
"defaultAsyncRequestSleepTimeMilliseconds": 30000,
"useForwardedHost": 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
}
}
}
| Property | Výchozí hodnota | Description |
|---|---|---|
| název uzlu | TestHubName (DurableFunctionsHub v 1.x) | Název centra, ve které je uložen aktuální stav aplikace funkcí. Názvy centra úkolů musí začínat písmenem a obsahovat pouze písmena a číslice. Pokud nezadáte název, použije se výchozí hodnota. Názvy alternativních center úloh se dají použít k izolaci více aplikací Durable Functions od sebe, i když používají stejný back-end úložiště. Další informace najdete v tématu Centra úloh. |
| Výchozí verze | Výchozí verze, která se má přiřadit k novým instancím orchestrace. Při zadávání verze jsou nové instance orchestrace trvale přidruženy k této hodnotě verze. Toto nastavení používá funkce správy verzí orchestrace k povolení scénářů, jako jsou nasazení bez výpadků i při provádění zásadních změn. Pro verzi můžete použít libovolnou řetězcovou hodnotu. | |
| strategiePorovnáníVerzí | Aktuální nebo starší | Hodnota, která určuje, jak se verze orchestrace slaďují při načítání funkcí orchestrátoru. Platné hodnoty jsou None, Stricta CurrentOrOlder. Podrobné vysvětlení najdete v tématu Verzování orchestrace. |
| strategie při selhání verze | Odmítat | Hodnota, která určuje, co se stane, když verze orchestrace neodpovídá aktuální defaultVersion hodnotě. Platné hodnoty jsou Reject a Fail. Podrobné vysvětlení najdete v tématu Verzování orchestrace. |
| controlQueueBatchSize | 32 | Počet zpráv, které se mají v jeden okamžik stáhnout z řídicí fronty |
| controlQueueBufferThreshold |
Plán spotřeby pro Python: 32 Plán spotřeby pro další jazyky: 128 Vyhrazený plán nebo Plán Premium: 256 |
Počet zpráv řídicí fronty, které lze najednou uchovávat v paměťovém bufferu. Po dosažení zadaného čísla bude dispečer čekat před vyřazením dalších zpráv. V některých situacích může snížení této hodnoty významně snížit spotřebu paměti. |
| partitionCount | 4 | Počet oddílů v řídící frontě. Tato hodnota musí být kladné celé číslo od 1 do 16. Změna této hodnoty vyžaduje konfiguraci nového centra úloh. |
| řízení doby viditelnosti fronty | 00:05:00 | Časový limit viditelnosti zpráv odstrěněných z řídicí fronty ve formátu hh:mm:ss. |
| Časový limit viditelnosti fronty úkolů (workItemQueueVisibilityTimeout) | 00:05:00 | Časový limit viditelnosti zpráv ve frontě vyřazených pracovních položek ve formátu hh:mm:ss. |
| ZískatVelkéZprávyAutomaticky | true | Hodnota, která určuje, jestli se mají načítat velké zprávy v dotazech na stav orchestrace. Při tomto nastavení se truenačtou velké zprávy, které překračují limit velikosti fronty. Při tomto nastavení se falsenačte adresa URL objektu blob, která odkazuje na každou velkou zprávu. |
| MaximálníPočetSoučasnýchFunkcíAktivit |
Plán spotřeby: 10 Vyhrazený plán nebo plán Premium: 10krát počet procesorů na aktuálním počítači |
Maximální počet funkcí aktivity, které mohou být současně zpracovány na jedné hostitelské instanci. |
| maximálníPočetSoučasnýchOrchestrátorovýchFunkcí |
Plán spotřeby: 5 Vyhrazený plán nebo plán Premium: 10krát počet procesorů na aktuálním počítači |
Maximální počet funkcí orchestrátoru, které lze současně zpracovat v jedné instanci hostitele. |
| Maximální počet současných funkcí entit (maxConcurrentEntityFunctions) |
Plán spotřeby: 5 Vyhrazený plán nebo plán Premium: 10krát počet procesorů na aktuálním počítači |
Maximální počet funkcí entity, které lze současně zpracovat v jedné instanci hostitele. Toto nastavení platí jenom v případě, že používáte trvalý plánovač úloh. V opačném případě je maximální počet souběžných spuštění entit omezen na maxConcurrentOrchestratorFunctions hodnotu. |
| maxQueuePollingInterval | 00:00:30 | Maximální řídicí interval a interval dotazování fronty pracovních položek ve formátu hh:mm:ss. Vyšší hodnoty můžou mít za následek vyšší latenci zpracování zpráv. Nižší hodnoty můžou mít za následek vyšší náklady na úložiště kvůli zvýšeným transakcím úložiště. |
| maxOrchestrationActions | 100,000 | Maximální počet akcí, které může funkce orchestrátoru provést během jednoho cyklu provádění. |
| connectionName (v2.7.0 a novější) connectionStringName (v2.x) azureStorageConnectionStringName (v1.x) |
AzureWebJobsStorage | Název nastavení aplikace nebo kolekce nastavení, která určuje, jak se připojit k podkladovým Azure Storage prostředkům. Když zadáte jediné nastavení aplikace, mělo by se jednat o připojovací řetězec pro Azure Storage. |
| trackingStoreConnectionName (v2.7.0 a novější) trackingStoreConnectionStringName |
Název nastavení aplikace nebo kolekce nastavení, která určuje, jak se připojit k tabulkám Historie a Instance, které ukládají historii provádění a metadata o instancích orchestrace. Když zadáte jediné nastavení aplikace, mělo by se jednat o připojovací řetězec pro Azure Storage. Pokud nezadáte nastavení, použije se hodnota připojení connectionStringName (v2.x) nebo hodnota připojení azureStorageConnectionStringName (v1.x). |
|
| trackingStoreNamePrefix | Předpona, která se má použít pro tabulky Historie a Instance, je-li trackingStoreConnectionStringName zadána. Pokud nezadáte předponu, použije se výchozí hodnota DurableTask . Pokud trackingStoreConnectionStringName není zadáno, tabulky Historie a Instance používají hubName hodnotu jako předponu a trackingStoreNamePrefix nastavení se ignoruje. |
|
| trasování vstupů a výstupů | false | Hodnota, která určuje, zda se mají sledovat vstupy a výstupy volání funkce. Při trasování událostí spuštění funkce je výchozím chováním zahrnout počet bajtů do serializovaných vstupů a výstupů pro volání funkce. Toto chování poskytuje minimální informace o vstupech a výstupech, aby nedošlo k zahlcení protokolů a neúmyslnému zpřístupnění citlivých informací. Pokud je truetato vlastnost , celý obsah vstupů a výstupů funkce jsou protokolovány. |
| sledovatPřehranéUdálosti | false | Hodnota, která označuje, zda se mají události přehrání orchestrací zapisovat do Application Insights. |
| logReplayEvents | false | Hodnota, která označuje, zda se má protokolovat opakované spuštění v protokolech aplikace. |
| eventGridTémaKoncovýBod | Adresa URL pro koncový bod vlastního tématu v Azure Event Grid. Při nastavování této vlastnosti se události oznámení o životním cyklu orchestrace publikují do tohoto koncového bodu. Tato vlastnost podporuje rozlišení nastavení aplikace. | |
| NastaveníKlíčeEventGrid | Název nastavení aplikace, které obsahuje klíč použitý k ověřování pomocí vlastního tématu Event Gridu EventGridTopicEndpoint na adrese URL. |
|
| počítadloOpakováníPublikaceEventGrid | 0 | Počet opakování, pokud publikování do tématu Event Gridu selže. |
| eventGridPublishRetryInterval (interval opakování pro publikování událostí v Event Grid) | 00:05:00 | Interval opakování publikování v Event Grid ve formátu hh:mm:ss. |
| Typy událostí publikování v Event Grid (eventGridPublishEventTypes) | Seznam typů událostí, které se mají publikovat do Event Gridu. Pokud nezadáte žádné typy, publikují se všechny typy událostí. Povolené hodnoty zahrnují Started, Completed, Faileda Terminated. |
|
| povolenéRozšířenéSezení | false | Hodnota, která určuje, zda jsou relace orchestrátoru a relace funkce entity ukládány do mezipaměti. |
| časový_limit_prodloužené_nečinnosti_relace_v_sekundách | 30 | Počet sekund, po které nečinný orchestrátor nebo funkce entity zůstanou v paměti před uvolněním. Toto nastavení se používá pouze, když je extendedSessionsEnabled nastaveno na true. |
| useAppLease | true | Hodnota indikující, zda aplikace musí před zpracováním zpráv centra úloh získat pronájem blobů na úrovni aplikace. Další informace najdete v tématu Obnovení po havárii a geografická distribuce v Durable Functions. Toto nastavení je dostupné od verze 2.3.0. |
| useLegacyPartitionManagement | false | Hodnota, která určuje typ algoritmu správy oddílů, který se má použít. Při tomto nastavení false se používá algoritmus, který snižuje možnost duplikování provádění funkcí při škálování. Toto nastavení je dostupné od verze 2.3.0.
Nastavení této hodnoty na true nedoporučují. |
| useTablePartitionManagement | Ve verzi 3.x: pravda V 2.x: nepravda |
Hodnota, která určuje typ algoritmu správy oddílů, který se má použít. Pokud je toto nastavení true, použije se algoritmus, který je navržený ke snížení nákladů na účty Azure Storage v2. Toto nastavení je dostupné od WebJobs.Extensions.DurableTask v2.10.0. Použití tohoto nastavení se spravovanou identitou vyžaduje WebJobs.Extensions.DurableTask verze 3.x nebo novější nebo Worker.Extensions.DurableTask v1.2.x nebo novější. |
| PoužítUkončeníBezVýpadků | false | (Preview) Hodnota, která označuje, jestli se má přívětivě vypnout, aby se snížila pravděpodobnost, že vypnutí hostitele může způsobit selhání provádění funkcí probíhajících v procesu. |
| maxEntityOperationBatchSize |
Plán spotřeby: 50 Vyhrazený plán nebo Plán Premium: 5 000 |
Maximální počet operací entit, které se zpracovávají jako dávka. Pokud je tato hodnota 1, dávkování je zakázané a samostatné vyvolání funkce zpracuje každou zprávu o operaci. Toto nastavení je dostupné od verze 2.6.1. |
| uložitVstupyDoHistorieOrchestrace | false | Hodnota, která určuje, jak ukládat vstupy. Pokud je toto nastavení nastaveno true, architektura Durable Task Framework ukládá vstupy aktivit v tabulce Historie a vstupy funkcí aktivit se zobrazí ve výsledcích dotazu historie orchestrace. |
| maxGrpcMessageSizeInBytes | 4,194,304 | Celočíselná hodnota, která nastavuje maximální velikost zpráv v bajtech, které může přijímat obecný klient vzdáleného volání procedur (gRPC). Implementace DurableTaskClient používá klienta gRPC ke správě instancí orchestrace. Toto nastavení platí pro Durable Functions .NET izolované pracovní a Java aplikace. |
| grpcHttpClientTimeout | 00:01:40 | Časový limit ve formátu hh:mm:ss pro klienta HTTP používaného klientem gRPC v Durable Functions. Klient je v současnosti podporován pro .NET izolované pracovní aplikace (verze .NET 8 a později) a pro Java aplikace. |
| QueueClientMessageEncoding | UTF8 | Strategie kódování zpráv Azure Queue Storage. Platné strategie jsou formát transformace Unicode –8bitová (UTF8) a Base64. Toto nastavení platí, pokud používáte Microsoft.Azure.WebJobs.Extensions.DurableTask 3.4.0 nebo novější nebo Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.7.0 nebo novější. |
| defaultAsyncRequestSleepTimeMilliseconds | 30000 | Výchozí interval dotazování v milisekundách pro asynchronní rozhraní HTTP API. Když se klient dotazuje na stav dlouhotrvající orchestrace pomocí koncového bodu dotazu na stav HTTP, tato hodnota určuje, jak dlouho má klient čekat před opětovným dotazováním. |
| useForwardedHost | false | Pokud je nastavená hodnota true, rozšíření používá hlavičky X-Forwarded-Host a X-Forwarded-Proto k vytvoření adres URL v odpovědích HTTP. |
Mnohé z těchto nastavení slouží k optimalizaci výkonu. Další informace najdete v tématu Výkon a škálování.