Durable Functions fakturace

Durable Functions se účtuje stejným způsobem jako Azure Functions. Další informace najdete v tématu Azure Functions cenách.

Při spouštění funkcí orchestrátoru v plánu Azure Functions Consumption je potřeba mít na paměti některé fakturační chování. Následující části popisují toto chování a jejich účinek podrobněji.

Přehrání fakturace funkce Orchestratoru

Funkce orchestratoru se můžou během celé doby orchestrace několikrát přehrávat. Každý přehrání je v modulu runtime Azure Functions zobrazen jako samostatné vyvolání funkce. Z tohoto důvodu se vám v plánu Azure Functions Consumption účtují poplatky za každé přehrání funkce orchestrátoru. Jiné typy plánů se neúčtují za přehrání funkce orchestrátoru.

Čekání a odevzdání ve funkcích orchestrátoru

Když funkce orchestrátoru čeká na dokončení asynchronní úlohy, modul runtime považuje vyvolání konkrétní funkce za dokončené. Fakturace funkce orchestrátoru se v tomto okamžiku zastaví. Obnoví se až po opětovném přehrání další funkce orchestrátoru. Neúčtuje se vám žádný čas strávený čekáním nebo odevzdáním ve funkci orchestrátoru.

Poznámka

Funkce volající jiné funkce jsou některými považovány za bezserverový anti-vzor. Důvodem je problém, který se označuje jako dvojité účtování. Když funkce volá jinou funkci přímo, spustí se obě funkce současně. Volaná funkce aktivně spouští kód, zatímco volající funkce čeká na odpověď. V takovém případě musíte zaplatit čas, který volající funkce stráví čekáním na spuštění volané funkce.

Ve funkcích orchestrátoru nedochází k žádnému dvojímu účtování. Fakturace funkce orchestrátoru se zastaví, když čeká na výsledek funkce aktivity nebo dílčí orchestrace.

Odolné dotazování HTTP

Funkce nástroje Orchestrator můžou provádět dlouhotrvající volání HTTP externích koncových bodů, jak je popsáno v článku o funkcích PROTOKOLU HTTP. Rozhraní API "volání HTTP" se můžou interně dotazovat koncového bodu HTTP při použití asynchronního vzoru 202.

V současné době neexistuje přímá fakturace pro interní operace dotazování HTTP. Interní dotazování však může způsobit, že se funkce orchestrátoru bude pravidelně přehrávat. Za tyto interní přehrání funkcí se vám budou účtovat standardní poplatky.

Transakce služby Azure Storage

Durable Functions ve výchozím nastavení používá Azure Storage k udržování trvalého stavu, zpracování zpráv a správě oddílů prostřednictvím zapůjčení objektů blob. Vzhledem k tomu, že tento účet úložiště vlastníte, veškeré transakční náklady se účtují do vašeho předplatného Azure. Další informace o artefaktech služby Azure Storage používaných službou Durable Functions najdete v článku Centra úloh.

Ke skutečným nákladům na službu Azure Storage, které vzniknou vaší Durable Functions aplikaci, přispívá několik faktorů:

  • Jedna aplikace funkcí je přidružená k jednomu centru úloh, které sdílí sadu prostředků Azure Storage. Tyto prostředky jsou používány všemi trvalými funkcemi v aplikaci funkcí. Skutečný počet funkcí v aplikaci funkcí nemá žádný vliv na náklady na transakce služby Azure Storage.
  • Každá instance aplikace funkcí interně dotazuje více front v účtu úložiště pomocí algoritmu exponenciálního zpětného dotazování. Instance nečinné aplikace se dotazuje na fronty méně často než aktivní aplikace, což vede k nižším transakčním nákladům. Další informace o Durable Functions chování dotazování front při použití poskytovatele služby Azure Storage najdete v části dotazování front v dokumentaci k poskytovateli služby Azure Storage.
  • Při spuštění v plánech Azure Functions Consumption nebo Premium kontroler škálování Azure Functions pravidelně dotazuje všechny fronty centra úloh na pozadí. Pokud je aplikace funkcí ve světlém až mírném měřítku, bude se na tyto fronty dotazovat pouze jedna instance kontroleru škálování. Pokud se aplikace funkcí škáluje na velký počet instancí, může se přidat více instancí kontroleru škálování. Tyto další instance kontroleru škálování můžou zvýšit celkové náklady na transakce ve frontě.
  • Každá instance aplikace funkcí soupeří o sadu zapůjčení objektů blob. Tyto instance budou pravidelně volat do služby Azure Blob Service, a to buď kvůli obnovení zachytávaných zapůjčení, nebo k pokusu o získání nových zapůjčení. Počet oddílů nakonfigurovaných v centru úloh určuje počet zapůjčení objektů blob. Horizontální navýšení kapacity na větší počet instancí aplikací funkcí pravděpodobně zvýší náklady na transakce služby Azure Storage spojené s těmito operacemi zapůjčení.

Další informace o cenách služby Azure Storage najdete v dokumentaci s cenami služby Azure Storage .

Další kroky