Přehled verzí modulu runtime Azure Functions
Azure Functions v současné době podporuje dvě verze hostitele modulu runtime. Následující tabulka obsahuje podrobnosti o aktuálně podporovaných verzích modulu runtime, jejich úrovni podpory a o tom, kdy se mají použít:
Verze | Úroveň podpory | Popis |
---|---|---|
4.x | GA | Doporučená verze modulu runtime pro funkce ve všech jazycích Podívejte se na podporované jazykové verze. |
1.x | Ga (podpora končí 14. září 2026) | Podporováno pouze pro aplikace jazyka C#, které musí používat rozhraní .NET Framework. Tato verze je v režimu údržby s vylepšeními poskytovanými pouze v novějších verzích. Podpora pro verzi 1.x skončí 14. září 2026. Důrazně doporučujeme migrovat aplikace na verzi 4.x, která podporuje rozhraní .NET Framework 4.8, .NET 8 a .NET 9. |
Důležité
Od 13. prosince 2022 došly aplikace funkcí běžící na verzích 2.x a 3.x modulu runtime Azure Functions ke konci rozšířené podpory. Další informace naleznete v tématu Vyřazené verze.
Tento článek podrobně popisuje některé rozdíly mezi podporovanými verzemi, jak můžete vytvořit jednotlivé verze a jak změnit verzi, na které běží vaše funkce.
Úrovně podpory
Existují dvě úrovně podpory:
- Obecně dostupná (GA) – plně podporovaná a schválená pro použití v produkčním prostředí.
- Preview – Zatím není podporováno, ale očekává se, že v budoucnu dosáhne stavu ga.
Jazyky
Všechny funkce v aplikaci funkcí musí sdílet stejný jazyk. Při vytváření aplikace funkcí zvolíte jazyk funkcí. Jazyk vaší aplikace funkcí se udržuje v nastavení FUNCTIONS_WORKER_RUNTIME a není možné ho změnit, pokud existují funkce.
Následující tabulka uvádí verze .NET podporované službou Azure Functions. V horní části článku vyberte upřednostňovaný vývojový jazyk.
Podporovaná verze rozhraní .NET závisí na vaší verzi modulu runtime Služby Functions i na zvoleném modelu spouštění:
Kód funkce se spouští v samostatném pracovním procesu .NET. Používá se s podporovanými verzemi rozhraní .NET a .NET Framework. Další informace najdete v tématu Vývoj funkcí izolovaného pracovního procesu .NET.
Podporovaná verze | Úroveň podpory | Očekávané datum EOL komunity |
---|---|---|
.NET 9 | GA | 12. května 2026 |
.NET 8 | GA | 10. listopadu 2026 |
.NET Framework 4.8.1 | GA | Zobrazit zásady |
Rozhraní .NET 6 bylo dříve podporováno v izolovaném modelu pracovních procesů, ale dosáhlo konce oficiální podpory 12. listopadu 2024.
Rozhraní .NET 7 bylo dříve podporováno v izolovaném modelu pracovních procesů, ale dosáhlo konce oficiální podpory 14. května 2024.
Další informace najdete v průvodci spuštěním služby Azure Functions v jazyce C# v izolovaném pracovním procesu.
Následující tabulka uvádí jazykové verze podporované pro funkce Java. V horní části článku vyberte upřednostňovaný vývojový jazyk.
Podporovaná verze | Úroveň podpory | Očekávané datum EOL komunity |
---|---|---|
Java 21 (jen pro Linux) | Preview | Září 2028 |
Java 17 | GA | Září 2027 |
Java 11 | GA | Září 2027 |
Java 8 | GA | 30. listopadu 2026 |
Další informace najdete v příručce pro vývojáře v Javě pro Azure Functions.
Následující tabulka uvádí jazykové verze podporované pro Node.js funkce. V horní části článku vyberte upřednostňovaný vývojový jazyk.
Podporovaná verze | Úroveň podpory | Očekávané datum EOL komunity |
---|---|---|
Node.js 22 | Preview | 30. dubna 2027 |
Node.js 20 | GA | 30. dubna 2026 |
Node.js 18 | GA | 30. dubna 2025 |
TypeScript se podporuje prostřednictvím překladu do JavaScriptu. Další informace najdete v příručce pro vývojáře služby Azure Functions Node.js.
Následující tabulka uvádí jazykovou verzi podporovanou pro funkce PowerShellu. V horní části článku vyberte upřednostňovaný vývojový jazyk.
Podporovaná verze | Úroveň podpory | Očekávané datum EOL komunity |
---|---|---|
PowerShell 7.4 | GA | 10. listopadu 2026 |
PowerShell 7.2 | GA | pátek 8. listopadu 2024 |
Další informace najdete v příručce pro vývojáře Azure Functions PowerShellu.
Následující tabulka uvádí jazykové verze podporované pro funkce Pythonu. V horní části článku vyberte upřednostňovaný vývojový jazyk.
Podporovaná verze | Úroveň podpory | Očekávané datum EOL komunity |
---|---|---|
Python 3.11 | GA | Října 2027 |
Python 3.10 | GA | Října 2026 |
Python 3.9 | GA | Října 2025 |
Python 3.8 | GA | Října 2024 |
Další informace najdete v příručce pro vývojáře v Pythonu pro Azure Functions.
Informace o plánovaných změnách podpory jazyků najdete v plánu nasazení produktů Azure.
Informace o jazykových verzích dříve podporovaných verzí modulu runtime Functions naleznete v tématu Vyřazené verze modulu runtime.
Spuštění v konkrétní verzi
Verze modulu runtime Functions používaného publikovanými aplikacemi FUNCTIONS_EXTENSION_VERSION
v Azure je diktována nastavením aplikace. V některých případech a v některých jazycích se můžou použít jiná nastavení.
Ve výchozím nastavení jsou aplikace funkcí vytvořené na webu Azure Portal, pomocí Azure CLI nebo z nástrojů sady Visual Studio nastavené na verzi 4.x. V případě potřeby můžete tuto verzi upravit. Po vytvoření aplikace funkcí můžete downgradovat pouze verzi modulu runtime na verzi 1.x, ale před přidáním jakýchkoli funkcí. Aktualizace na novější hlavní verzi je povolená i u aplikací, které mají existující funkce.
Migrace existujících aplikací funkcí
Pokud má vaše aplikace existující funkce, musíte před přechodem na novější hlavní verzi modulu runtime provést preventivní opatření. Následující články popisují zásadní změny mezi hlavními verzemi, včetně zásadních změn specifických pro jednotlivé jazyky. Poskytují také podrobné pokyny pro úspěšnou migraci vaší stávající aplikace funkcí.
Změna verze aplikací v Azure
Používají se následující hlavní hodnoty verze modulu runtime:
Hodnota | Cíl modulu runtime |
---|---|
~4 |
4.x |
~1 |
1.x |
Důležité
Toto nastavení aplikace neměňte libovolně, protože se můžou vyžadovat jiné změny nastavení aplikace a změny kódu funkce. U existujících aplikací funkcí postupujte podle pokynů k migraci.
Připnutí na konkrétní podverzi
Pokud chcete vyřešit problémy, které mohla mít aplikace funkcí při spuštění na nejnovější hlavní verzi, musíte dočasně připnout aplikaci na konkrétní podverzi. Připnutí vám dává čas, abyste aplikaci správně spustili na nejnovější hlavní verzi. Způsob připnutí na podverzi se liší mezi Windows a Linuxem. Další informace najdete v tématu Cílení na verze modulu runtime Azure Functions.
Starší podverze se pravidelně odebírají ze služby Functions. Nejnovější zprávy o vydaných verzích Azure Functions, včetně odebrání konkrétních starších podverzí, monitorujte oznámení služby Aplikace Azure.
Minimální verze rozšíření
Technicky vzato neexistuje korelace mezi verzemi rozšíření vazby a verzí modulu runtime Služby Functions. Počínaje verzí 4.x však modul runtime Functions vynucuje minimální verzi pro všechna rozšíření triggerů a vazeb.
Pokud se zobrazí upozornění na balíček, který nesplňuje minimální požadovanou verzi, měli byste balíček NuGet aktualizovat na minimální verzi, jak byste normálně chtěli. Minimální požadavky na verzi pro rozšíření používaná ve službě Functions v4.x najdete v propojeném konfiguračním souboru.
V případě skriptu jazyka C# aktualizujte odkaz na sadu rozšíření v host.json následujícím způsobem:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Technicky vzato neexistuje korelace mezi verzemi sady rozšíření a verzí modulu runtime služby Functions. Počínaje verzí 4.x však modul runtime Functions vynucuje minimální verzi pro sady rozšíření.
Pokud se zobrazí upozornění na verzi sady rozšíření, která nesplňuje minimální požadovanou verzi, aktualizujte stávající odkaz na sadu rozšíření v host.json následujícím způsobem:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Další informace o sadách rozšíření najdete v tématu Sady rozšíření.
Vyřazené verze
Důležité
Podpora pro modul runtime Azure Functions verze 1.x skončí 14. září 2026. Důrazně doporučujeme migrovat aplikace na verzi 4.x , abyste měli plnou podporu.
Tyto verze modulu runtime Functions dosáhly konce rozšířené podpory 13. prosince 2022.
Verze | Aktuální úroveň podpory | Předchozí úroveň podpory |
---|---|---|
3.x | Nedostatek podpory | GA |
2.x | Nedostatek podpory | GA |
Co nejdříve byste měli migrovat aplikace na verzi 4.x, abyste získali plnou podporu. Kompletní sadu pokynů pro migraci specifickou pro konkrétní jazyk najdete v tématu Migrace aplikací do Azure Functions verze 4.x.
Aplikace používající verze 2.x a 3.x se stále dají vytvářet a nasazovat z kanálu CI/CD DevOps a všechny stávající aplikace se budou dál spouštět bez zásadních změn. Vaše aplikace ale nemají nárok na nové funkce, opravy zabezpečení a optimalizace výkonu. Související podporu služeb můžete získat pouze po upgradu aplikací na verzi 4.x.
Konec podpory pro verze 2.x a 3.x je způsoben ukončením podpory pro .NET Core 3.1, kterou měly jako základní závislost. Tento požadavek má vliv na všechny jazyky podporované službou Azure Functions.
Místně vyvinuté verze aplikací
V aplikacích funkcí můžete provést následující aktualizace pro místní změnu cílových verzí.
Verze modulu runtime sady Visual Studio
V sadě Visual Studio vyberete při vytváření projektu verzi modulu runtime. Nástroje Azure Functions pro Visual Studio podporují dvě hlavní verze modulu runtime. Správná verze se používá při ladění a publikování na základě nastavení projektu. Nastavení verze jsou definována v .csproj
souboru v následujících vlastnostech:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
Pokud používáte izolovaný model pracovního procesu, můžete zvolit, net8.0
, net6.0
, nebo net48
jako cílovou architekturu. Můžete se také rozhodnout použít podporu verze Preview pro net9.0
. Pokud používáte model v procesu, můžete zvolit net8.0
nebo net6.0
a musíte zahrnout příponu nastavenou Microsoft.NET.Sdk.Functions
alespoň 4.4.0
na hodnotu .
Rozhraní .NET 7 bylo dříve podporováno v izolovaném modelu pracovních procesů, ale dosáhlo konce oficiální podpory 14. května 2024.
Visual Studio Code a nástroje Azure Functions Core Tools
Nástroje Azure Functions Core Tools se používají k vývoji příkazového řádku a také rozšířením Azure Functions pro Visual Studio Code. Další informace najdete v tématu Instalace nástrojů Azure Functions Core Tools.
Pro vývoj editoru Visual Studio Code můžete také muset aktualizovat uživatelské nastavení tak azureFunctions.projectRuntime
, aby odpovídalo verzi nainstalovaných nástrojů. Toto nastavení také aktualizuje šablony a jazyky používané při vytváření aplikace funkcí.
Vazby
Počínaje verzí 2.x modul runtime používá nový model rozšiřitelnosti vazeb, který nabízí tyto výhody:
Podpora rozšíření vazeb třetích stran
Oddělení modulu runtime a vazeb Tato změna umožňuje, aby byla rozšíření vazeb verze a vydána nezávisle. Můžete se například rozhodnout upgradovat na verzi rozšíření, která závisí na novější verzi podkladové sady SDK.
Světlejší spouštěcí prostředí, ve kterém jsou známé a načteny modulem runtime pouze používané vazby.
Kromě triggerů HTTP a časovače musí být všechny vazby explicitně přidány do projektu aplikace funkcí nebo zaregistrovány na portálu. Další informace najdete v tématu Registrace rozšíření vazeb.
Následující tabulka uvádí, které vazby jsou podporovány v jednotlivých verzích modulu runtime.
Tato tabulka ukazuje vazby podporované v hlavních verzích modulu runtime Azure Functions:
Typ | 1,x1 | 2.x a vyšší2 | Trigger | Vstup | Výstup |
---|---|---|---|---|---|
Blob Storage | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Cosmos DB | ✔ | ✔ | ✔ | ✔ | ✔ |
Azure Data Explorer | ✔ | ✔ | ✔ | ||
Azure SQL | ✔ | ✔ | ✔ | ✔ | |
Dapr4 | ✔ | ✔ | ✔ | ✔ | |
Event Grid | ✔ | ✔ | ✔ | ✔ | |
Event Hubs | ✔ | ✔ | ✔ | ✔ | |
HTTP a webhooky | ✔ | ✔ | ✔ | ✔ | |
IoT Hub | ✔ | ✔ | ✔ | ||
Kafka3 | ✔ | ✔ | ✔ | ||
Mobile Apps | ✔ | ✔ | ✔ | ||
Notification Hubs | ✔ | ✔ | |||
Queue Storage | ✔ | ✔ | ✔ | ✔ | |
Redis | ✔ | ✔ | |||
RabbitMQ3 | ✔ | ✔ | ✔ | ||
SendGrid | ✔ | ✔ | ✔ | ||
Service Bus | ✔ | ✔ | ✔ | ✔ | |
SignalR | ✔ | ✔ | ✔ | ✔ | |
Table Storage | ✔ | ✔ | ✔ | ✔ | |
Časovač | ✔ | ✔ | ✔ | ||
Twilio | ✔ | ✔ | ✔ |
Poznámky:
- Podpora pro modul runtime Azure Functions verze 1.x skončí 14. září 2026. Důrazně doporučujeme migrovat aplikace na verzi 4.x , abyste měli plnou podporu.
- Počínaje modulem runtime verze 2.x musí být zaregistrovány všechny vazby s výjimkou http a časovače. Viz Registrace rozšíření vazeb.
- Triggery nejsou v plánu Consumption podporované. Vyžaduje triggery řízené modulem runtime.
- Podporováno pouze v režimech Kubernetes, IoT Edge a dalších režimech v místním prostředí.
Doba trvání časového limitu aplikace funkcí
Doba trvání časového limitu pro funkce v aplikaci funkcí je definována functionTimeout
vlastností v souboru projektu host.json . Tato vlastnost se vztahuje konkrétně na provádění funkcí. Po spuštění triggeru funkce musí funkce v době časového limitu vrátit nebo odpovědět. Aby nedocházelo k vypršení časových limitů, je důležité psát robustní funkce. Další informace najdete v tématu Zlepšení výkonu a spolehlivosti azure Functions.
Následující tabulka uvádí výchozí a maximální hodnoty (v minutách) pro konkrétní plány:
Plánování | Výchozí | Maximálně1 |
---|---|---|
Plán Flex Consumption | 30 | Nevázané2 |
Plán Premium | 304 | Nevázané2 |
Vyhrazený plán | 304 | Nevázané3 |
Container Apps | 30 | Nevázaný5 |
Plán Consumption | 5 | 10 |
- Bez ohledu na nastavení časového limitu aplikace funkcí může funkci aktivované protokolem HTTP trvat reakce na požadavek maximálně 230 sekund. Důvodem je výchozí časový limit nečinnosti služby Azure Load Balancer. V případě delší doby zpracování zvažte použití asynchronního vzoru Durable Functions nebo odložit skutečnou práci a vrátit okamžitou odpověď.
- Nevynucuje se žádná maximální doba trvání časového limitu spuštění. Období odkladu zadané pro provádění funkce je však během škálování pro plány Flex Consumption a Premium 60 minut a během aktualizací platformy se poskytuje období odkladu 10 minut.
- Vyžaduje, aby plán služby App Service byl nastavený na AlwaysOn. Během aktualizací platformy se poskytuje období odkladu 10 minut.
- Výchozí časový limit pro verzi 1.x modulu runtime hostitele Služby Functions není nevázaný.
- Pokud je minimální počet replik nastaven na nulu, výchozí časový limit závisí na konkrétních aktivačních událostech použitých v aplikaci.
Další kroky
Další informace naleznete v následujících zdrojích: