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.
Ve službě Azure Functions je podpora zásobníku jazyků omezená na konkrétní verze. Jakmile budou k dispozici nové verze, můžete chtít aktualizovat aplikace funkcí, aby využívaly nové funkce. Podpora ve funkcích končí také pro starší verze a obvykle je v souladu s časovým harmonogramem ukončení podpory komunity. Další informace najdete v zásadách podpory modulu language runtime. Podporované verze různých jazyků najdete v tématu Jazyky podle verze modulu runtime.
Pokud chcete zajistit, aby vaše aplikace funkcí nadále dostávaly podporu, aktualizujte je podle pokynů v tomto článku na nejnovější dostupné verze. Způsob aktualizace aplikace funkcí závisí na několika faktorech:
- Jazyk, který používáte k vývoji aplikací funkcí. Nezapomeňte vybrat programovací jazyk v horní části tohoto článku.
- Operační systém, na kterém běží vaše aplikace funkcí v Azure: Windows nebo Linux.
- Plán hostování.
Poznámka:
V tomto článku se dozvíte, jak aktualizovat verzi .NET aplikace funkcí, která používá izolovaný pracovní model. Pokud vaše aplikace funkcí běží na starší verzi .NET a používá model v procesu, zvažte následující možnosti:
Příprava aplikace funkcí
Před aktualizací konfigurace zásobníku pro vaši aplikaci funkcí v Azure dokončete úlohy v následujících částech.
Kontrola závislostí
Před aktualizací jazykových verzí si projděte tyto potenciální závislosti:
-
Sady rozšíření: Ověřte, že váš
host.jsonsoubor odkazuje na kompatibilní verzi sady rozšíření. Pro většinu scénářů se doporučují sady verzí 4.x.
Rozšíření vazeb: Aktualizujte všechny odkazy na explicitní vazební rozšíření na verze kompatibilní s vaší novou jazykovou verzí.
Závislosti balíčků: Zkontrolujte a aktualizujte všechny závislosti balíčků na verze, které podporují vaši cílovou verzi jazyka.
Místní nástroje: Zajistěte, aby vaše místní vývojové nástroje, jako jsou Azure Functions Core Tools, sady SDK a integrované vývojové prostředí, podporovaly novou jazykovou verzi.
Ověření aplikace funkcí místně
Otestujte a ověřte kód aplikace funkcí místně na nové cílové verzi.
Pomocí následujícího postupu aktualizujte projekt na místním počítači:
Ujistěte se, že je nainstalovaná cílová verze sady .NET SDK.
Pokud cílíte na verzi Preview, přečtěte si pokyny k funkcím pro verze .NET ve verzi Preview , abyste měli jistotu, že je verze podporovaná. Použití verzí .NET Preview může vyžadovat další kroky.
Aktualizujte odkazy na nejnovější verze Microsoft.Azure.Functions.Worker a Microsoft.Azure.Functions.Worker.Sdk.
Aktualizujte cílovou architekturu projektu na novou verzi. U projektů jazyka
<TargetFramework>C# je nutné aktualizovat prvek v souboru .csproj . Další informace o vaší verzi najdete v tématu Cílové architektury.Změna cílové architektury projektu může také vyžadovat změny částí sady nástrojů mimo kód projektu. V editoru Visual Studio Code budete například muset aktualizovat
azureFunctions.deploySubpathnastavení rozšíření v uživatelských nastaveních nebo v souboru .vscode/settings.json projektu. V rámci kroků sestavení nebo kanálu kontinuální integrace a průběžného doručování (CI/CD) zkontrolujte všechny závislosti na verzi architektury, které existují mimo kód projektu.Proveďte všechny aktualizace kódu projektu, které nová verze .NET vyžaduje. Konkrétní informace najdete v poznámkách k verzi verze. Můžete také použít .NET Upgrade Assistant k aktualizaci vašeho kódu v reakci na změny v hlavních verzích.
Po provedení těchto změn znovu sestavte projekt a otestujte ho, abyste potvrdili, že vaše aplikace funkcí běží podle očekávání.
Přechod na nejnovější prostředí runtime Functions
Ujistěte se, že vaše aplikace funkcí běží na nejnovější verzi modulu runtime Functions (verze 4.x). Verzi modulu runtime můžete určit na webu Azure Portal nebo pomocí Azure CLI.
K určení verze modulu runtime služby Functions použijte tento postup:
Na webu Azure Portal vyhledejte a vyberte svou aplikaci funkcí. V boční nabídce vyberte Nastavení>konfigurace.
Přejděte na kartu Nastavení modulu runtime funkce a zkontrolujte hodnotu verze modulu runtime . Aplikace funkcí by měla běžet ve verzi 4.x modulu runtime (
~4) služby Functions.
Pokud potřebujete aktualizovat aplikaci funkcí na verzi 4.x, přečtěte si téma Migrace aplikací z Azure Functions verze 1.x na verzi 4.x nebo Migrace aplikací z Azure Functions verze 3.x na verzi 4.x. Postupujte podle pokynů v těchto článcích a ne jen změňte FUNCTIONS_EXTENSION_VERSION nastavení.
Publikování aktualizací aplikace funkcí
Pokud jste aplikaci funkcí aktualizovali tak, aby správně běžela na nové verzi, publikujte aktualizace aplikace funkcí před aktualizací konfigurace zásobníku pro vaši aplikaci funkcí.
Návod
Pokud chcete zjednodušit proces aktualizace, minimalizujte dobu výpadku pro vaše aplikace funkcí a poskytněte možnost návratu k předchozí verzi, publikujte aktualizovanou aplikaci funkcí do přípravného slotu. Další informace najdete v tématu Sloty nasazení služby Azure Functions.
Když publikujete aktualizovanou aplikaci funkcí do přípravného slotu, nezapomeňte postupovat podle pokynů pro aktualizaci konkrétního slotu ve zbývající části tohoto článku. Později aktualizovaný přípravný slot prohodíte do produkčního prostředí.
Zvažte použití slotů
Před aktualizací jazykové verze aplikace funkcí vytvořte slot nasazení , který se použije k testování a nasazení. Tento přístup minimalizuje výpadky a poskytuje jednoduchou možnost vrácení zpět, pokud dojde k problémům. Příklady v tomto článku používají přípravný slot s názvem staging.
Plán Flex Consumption: Sloty nejsou aktuálně podporovány. Nejprve byste měli ověřit svůj aktualizovaný kód v neprodukční funkční aplikaci. Při nasazování do spuštěné aplikace možná budete moct použít strategii postupné aktualizace. Další informace najdete v tématu Strategie aktualizace webu ve službě Flex Consumption.
Důležité
Strategie kumulativní aktualizace je aktuálně ve verzi Preview a nedoporučuje se pro produkční aplikace. Než tuto strategii povolíte v libovolné produkční aplikaci, projděte si aktuální omezení a důležité informace .
Aktualizace konfigurace zásobníku
Způsob aktualizace konfigurace zásobníku závisí na tom, jestli vaše aplikace funkcí běží ve Windows nebo v Linuxu v Azure.
Při použití přípravného slotu nezapomeňte aktualizace cílit na správný slot.
K aktualizaci verze Javy použijte následující postup:
Na webu Azure Portal vyhledejte a vyberte svou aplikaci funkcí. V boční nabídce vyberte Nastavení>konfigurace. Pokud máte přípravný slot, vyberte konkrétní slot.
Na kartě Obecné nastavení aktualizujte verzi Javy na požadovanou verzi.
Vyberte Uložit. Až budete upozorněni na restartování, vyberte Pokračovat.
K aktualizaci verze .NET použijte následující postup:
Na webu Azure Portal vyhledejte a vyberte svou aplikaci funkcí. V boční nabídce vyberte Nastavení>konfigurace. Pokud máte přípravný slot, vyberte konkrétní slot.
Na kartě Obecné nastavení aktualizujte verzi .NET na požadovanou verzi.
Vyberte Uložit. Až budete upozorněni na restartování, vyberte Pokračovat.
Pomocí následujících kroků aktualizujte verzi Node.js:
Na webu Azure Portal vyhledejte a vyberte svou aplikaci funkcí. V boční nabídce vyberte Nastavení>konfigurace. Pokud máte přípravný slot, vyberte konkrétní slot.
Na kartě Obecné nastavení aktualizujte Node.js Verzi na požadovanou verzi.
Vyberte Uložit. Až budete upozorněni na restartování, vyberte Pokračovat. Tato změna aktualizuje
WEBSITE_NODE_DEFAULT_VERSIONnastavení aplikace.
K aktualizaci verze PowerShellu použijte následující postup:
Na webu Azure Portal vyhledejte a vyberte svou aplikaci funkcí. V boční nabídce vyberte Nastavení>konfigurace. Pokud máte přípravný slot, vyberte konkrétní slot.
Na kartě Obecné nastavení aktualizujte verzi PowerShellu Core na požadovanou verzi.
Vyberte Uložit. Až budete upozorněni na restartování, vyberte Pokračovat.
Portál nepodporuje aplikace Pythonu ve Windows. Místo toho přejděte na kartu Linux .
Po aktualizaci verze se vaše aplikace funkcí restartuje.
Poznámka:
Během restartování není vaše aplikace funkcí dostupná po krátkou dobu, obvykle 30–60 sekund. Pokud aktualizujete aplikaci produkčních funkcí přímo (bez použití přípravného slotu), naplánujte tento výpadek během časového období údržby. Restartování ukončí všechny požadavky na letu a nové požadavky selžou, dokud se aplikace nerestartuje úspěšně.
Ověřte aktualizaci
Po restartování aplikace funkcí ověřte, že aktualizace jazykové verze byla úspěšná.
Na webu Azure Portal vyhledejte a vyberte svou aplikaci funkcí. V boční nabídce vyberte Nastavení>konfigurace.
Na kartě Obecné nastavení ověřte, že verze jazyka zobrazuje novou verzi, kterou jste vybrali.
V boční nabídce vyberte Přehled a potvrďte, že se stav zobrazuje jako Spuštěno.
Po ověření verze také ověřte, že vaše funkce fungují podle očekávání.
Prohození slotů
Pokud k nasazení projektu kódu a aktualizaci nastavení použijete přípravný slot, zaměňte přípravný slot za produkční. Další informace najdete v tématu Prohození slotů.
Řešení problémů
Pokud po aktualizaci jazykové verze dojde k problémům, při řešení běžných problémů využijte následující doprovodné materiály:
Funkční aplikace se nespustí
Symptomy: Stav aplikace funkcí se zobrazuje jako Zastaveno nebo nepřetržitě restartuje.
Řešení:
Zkontrolujte protokoly aplikací na webu Azure Portal:
- Přejděte do aplikace funkcí a vyberte Monitorování>Stream protokolu.
- Vyhledejte chybové zprávy související s neshodou verzí modulu runtime nebo jazyka.
Ověřte, že všechny závislosti jsou kompatibilní s novou jazykovou verzí:
- V případě .NET se ujistěte, že balíčky NuGet podporují cílovou architekturu.
- V případě Pythonu zkontrolujte, jestli jsou verze
requirements.txtbalíčků kompatibilní. - V případě Node.js ověřte, že
package.jsonzávislosti podporují novou verzi Node.
Zkontrolujte verzi sady rozšíření v
host.jsonsouboru. Starší sady nemusí podporovat novější jazykové verze.
Funkce selhávají s běhovými chybami
Symptomy: Jednotlivé funkce selžou při aktivaci s chybami v protokolech.
Řešení:
Projděte si zásadní změny vaší jazykové verze:
- Podívejte se na zásadní změny v .NET pro cílovou verzi.
- Projděte si poznámky k verzi Javy , kde najdete pokyny k migraci.
- Projděte poznámky k verzi Node.js pro zásadní změny.
- Informace o změnách specifických pro verze najdete v tématu Co je nového v Pythonu .
- Projděte si poznámky k verzi PowerShellu , kde najdete změny.
Aktualizujte rozšíření vazeb na verze kompatibilní s novou jazykovou verzí.
Před opětovným nasazením otestujte funkce místně s novou jazykovou verzí.
Konflikty verzí rozšíření
Symptomy: Chyby, které zmiňují nekompatibilitu verzí rozšíření nebo připojení.
Řešení:
Aktualizujte verzi balíčku rozšíření na verzi 4.x nebo novější.
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.*, 5.0.0)" } }U projektů .NET, které používají explicitní odkazy na rozšíření, aktualizujte všechny
Microsoft.Azure.WebJobs.Extensions.*balíčky na nejnovější verze.
Vrácení aktualizace
Pokud se potřebujete vrátit k předchozí jazykové verzi:
Pokud jste použili přípravný slot:
- Zaměňte přípravný slot na produkční slot.
- Aktualizujte testovací slot na předchozí verzi pro další pokusy.
Pokud jste aktualizovali produkční prostředí přímo:
- Podle kroků aktualizace uvedených v tomto článku postupujte stejně, ale zadejte verzi vašeho předchozího jazyka.
- Znovu nasaďte předchozí verzi kódu.
Monitorujte aplikaci funkcí, abyste měli jistotu, že se vrátí do normálního provozu.
Návod
Abyste se vyhnuli problémům, vždy otestujte aktualizace verzí jazyka v přípravném slotu, než je použijete v produkčním prostředí. Před provedením změn vytvořte zálohu konfigurace aplikace funkcí.