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.
Tento článek popisuje důležité aktualizace funkcí Pythonu zavedené službou Azure Functions počínaje Pythonem 3.13. Mezi tyto změny patří správa verzí modulu runtime, vylepšení výkonu a několik odebraných funkcí.
Správa verzí modulu runtime Pythonu
Počínaje Pythonem 3.13 zavádí functions správu verzí modulu runtime, novou funkci výslovného souhlasu, která umožňuje cílit na konkrétní verze modulu runtime Functions v Pythonu používaném vaší aplikací.
Bez povolené správy verzí se vaše aplikace bude dál spouštět ve výchozí verzi modulu runtime Pythonu, kterou spravuje služba Functions. Soubor requirements.txt musíte upravit tak, aby místo toho požadoval nejnovější vydanou verzi, předběžnou verzi nebo aby bylo možné aplikaci připnout na konkrétní verzi modulu runtime Pythonu.
Správu verzí modulu runtime povolíte tak, že do souboru requirements.txt přidáte odkaz na balíček modulu runtime Python, kde hodnota přiřazená balíčku určuje použitou verzi modulu runtime.
Konkrétní odkaz, který přidáte do requirements.txt , závisí na programovacím modelu Pythonu, což může být jedna z těchto hodnot:
| Verze modelu | Název balíčku |
|---|---|
| v2 | azure-functions-runtime |
| v1 | azure-functions-runtime-v1 |
Tato tabulka označuje chování správy verzí na základě hodnoty verze tohoto nastavení v souboru requirements.txt :
| Version | Příklad | Chování |
|---|---|---|
| Žádná sada hodnot | azure-functions-runtime |
Vaše aplikace v Pythonu 3.13 nebo novější běží na nejnovější dostupné verzi modulu runtime Functions Python. Tato možnost je nejvhodnější pro udržování aktuálního stavu díky vylepšením a funkcím platformy, protože vaše aplikace automaticky obdrží nejnovější stabilní aktualizace modulu runtime. |
| Připnuto ke konkrétní verzi | azure-functions-runtime==1.2.0 |
Vaše aplikace Python 3.13 nebo novější zůstává na připnuté verzi modulu runtime a nepřijímá automatické aktualizace. Místo toho musíte ručně aktualizovat připnutou verzi, abyste mohli těžit z nových funkcí, oprav a vylepšení v době běhu. Připnutí se doporučuje pro kritické produkční úlohy, kde je stabilita a předvídatelnost zásadní. Připnutí také umožňuje otestovat aplikaci na předem připravených verzích modulu runtime během vývoje. |
| Žádný odkaz na balíček | není k dispozici | Tím, že nenastavíte azure-functions-runtime, vaše aplikace Python 3.13+ běží na výchozí verzi modulu runtime Pythonu, která je za nejnovější vydané verze. Funkce pravidelně provádí aktualizace. Tato možnost zajišťuje stabilitu a širokou kompatibilitu. Přístup k nejnovějším funkcím a opravám se ale zpozdí, dokud se neaktualizuje výchozí verze. |
Při používání správy verzí modulu runtime s aplikací Python 3.13 nebo novější mějte na paměti tyto aspekty:
- Vyhněte se připínání jakékoli produkční aplikace k verzím modulu runtime, které jsou v předběžné fázi (alpha, beta nebo dev).
- Přečtěte si poznámky k verzi modulu runtime Pythonu pravidelně, abyste měli přehled o změnách, které se používají v modulu runtime Pythonu vaší aplikace, nebo zjistěte, kdy se má připnutá verze aktualizovat.
Další změny a vylepšení představená v Pythonu 3.13
Python 3.13 zavádí několik vylepšení funkcí, které zlepšují výkon a spolehlivost a jinak ovlivňují chování modulu runtime:
Izolace závislostí je teď ve výchozím nastavení povolená.
Vaše aplikace teď můžou těžit z úplné izolace závislostí, což znamená, že když vaše aplikace obsahuje závislost, kterou používá také pracovní proces Pythonu, například azure-functions nebo grpcio, může vaše aplikace používat svou vlastní verzi, i když modul runtime Pythonu interně používá jinou verzi.
Tato izolace zabraňuje konfliktům verzí a zlepšuje kompatibilitu s vlastními balíčky.
Vylepšený výkon studeného startu
Python 3.13 poskytuje měřitelné snížení doby studeného spuštění v porovnání s Pythonem 3.11, což vede k rychlejšímu spuštění aplikace.
Rychlejší zpracování JSON s Orjson podporou
Funkce teď podporují automatické použití Orjsonvysoce výkonné knihovny JSON napsané v Rustu. Pokud Orjson je součástí závislostí vaší aplikace, modul runtime ho automaticky použije pro serializaci JSON a deserializaci, aniž byste museli provádět změny v kódu.
Použití Orjson může poskytovat nižší latenci i vyšší propustnost pro úlohy náročné na JSON, jako jsou volání rozhraní HTTP API a zpracování událostí. K zajištění zpětné kompatibility se používá standardní json knihovna, pokud Orjson není dostupná.
Zjednodušené vyjádření souhlasu se streamováním HTTP
- Funkce Streamování HTTP je teď dostupná bez nutnosti jakýchkoli změn nastavení aplikace nebo jiných konfigurací. I když se stále musíte přihlásit na úrovni funkce, už nemusíte přidávat
PYTHON_ENABLE_INIT_INDEXINGnastavení pro používání této funkce.
Odebrání podpory funkcí v Pythonu
Při používání Pythonu verze 3.13 a novějších již nejsou podporovány následující funkce ve Functions:
- Rozšíření pracovních procesů: Vlastní rozšíření pracovních procesů nejsou kompatibilní s modulem runtime Python 3.13 nebo novější. Pokud vaše aplikace využívá tato rozšíření, musíte znovu vyhodnotit nebo migrovat na podporované alternativy.
- Sdílená paměť: Funkce sdílené paměti použitá pro optimalizaci velké datové části není od Pythonu 3.13 dostupná. Ve výchozím nastavení veškerá komunikace používá zasílání zpráv založených na GRPC.