Přehled verzí modulu runtime Azure Functions

Aplikace funkcí běží na konkrétní verzi modulu runtime Azure Functions. Ve výchozím nastavení vytvoříte aplikace funkcí v nejnovější verzi modulu runtime Functions 4.x. Vaše aplikace funkcí se podporují jenom v případech, kdy běží na podporované hlavní verzi. Tento článek vysvětluje, jak nakonfigurovat aplikaci funkcí v Azure tak, aby v případě potřeby cílila nebo připnula na konkrétní verzi modulu runtime Functions.

Úvahy

Při cílení na konkrétní verzi modulu runtime mějte na paměti tyto aspekty:

  • Plán Flex Consumption běží pouze na verzi 4.x modulu runtime. Vzhledem k tomu, že plán Flex Consumption nepodporuje nastavení aplikace FUNCTIONS_EXTENSION_VERSION, nemůže vaše aplikace při běhu v tomto plánu cílit na konkrétní verzi runtime.
  • Způsob, jakým cílíte na konkrétní verzi, závisí na tom, jestli používáte Windows nebo Linux.
  • Tento článek je specifický pro Windows nebo Linux. V horní části článku vyberte svůj operační systém.
  • Pokud je to možné, vždy spusťte aplikaci na nejnovější podporované verzi modulu runtime. Připněte aplikaci na konkrétní verzi jenom v případě, že máte pokyn, abyste to udělali kvůli problému s nejnovější verzí. Vždy přejděte až k nejnovější verzi modulu runtime, jakmile vaše funkce můžou běžet správně.
  • Během místního vývoje musí nainstalovaná verze nástrojů Azure Functions Core Tools odpovídat hlavní verzi modulu runtime používané aplikací funkcí v Azure. Další informace najdete v tématu Verze nástrojů Core Tools.

Aktualizace verze modulu runtime

Pokud je to možné, vždy spouštět aplikace funkcí na nejnovější podporované verzi modulu runtime Azure Functions. Pokud je vaše aplikace funkcí aktuálně spuštěná ve starší verzi modulu runtime, migrujte aplikaci na verzi 4.x.

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í.

Pokud chcete zjistit aktuální verzi modulu runtime, přečtěte si téma Zobrazení aktuální verze modulu runtime.

Zobrazení aktuální verze modulu runtime

Aktuální verzi modulu runtime aplikace funkcí můžete zobrazit jedním z těchto způsobů:

Pokud chcete zobrazit a aktualizovat verzi modulu runtime, kterou aktuálně používá aplikace funkcí, postupujte takto:

  1. Na webu Azure Portal přejděte do aplikace funkcí.

  2. Rozbalte nastavení a pak vyberte Konfigurace.

  3. Na kartě Nastavení modulu runtime funkce si poznamenejte verzi modulu runtime. V tomto příkladu je verze nastavena na ~4.

    Snímek obrazovky znázorňující, jak zobrazit verzi modulu runtime

Připnutí na konkrétní verzi

Azure Functions umožňuje použít FUNCTIONS_EXTENSION_VERSION nastavení aplikace k cílení na verzi modulu runtime používanou danou aplikací funkcí. Pokud zadáte jenom hlavní verzi (~4), aplikace funkcí se automaticky aktualizuje na nové podverze modulu runtime, jakmile budou dostupné. Aktualizace podverzí jsou automatické, protože nové podverze pravděpodobně nezavádějí změny, které by přerušily vaše funkce.

Aplikace pro Linux používají linuxFxVersion nastavení webu spolu s FUNCTIONS_EXTENSION_VERSION určením správné základní image Linuxu, ve které se mají spouštět funkce. Při vytváření nové aplikace funkcí v Linuxu modul runtime automaticky zvolí správnou základní image na základě verze modulu runtime vašeho zásobníku jazyků.

Připnutí na konkrétní verzi modulu runtime restartuje vaši funkci aplikace.

Když zadáte konkrétní podverzi (například 4.0.12345) v FUNCTIONS_EXTENSION_VERSION, připnete aplikaci funkcí na tuto konkrétní verzi modulu runtime, dokud se explicitně nerozhodnete přejít zpět na automatické aktualizace verzí. Připněte si určitou podverzi pouze na nezbytně dlouhou dobu, abyste vyřešili všechny problémy s vaší aplikací funkcí, které vám brání v cílení na hlavní verzi. Starší podverze se pravidelně odebírají z produkčního prostředí. Když je vaše funkční aplikace připnutá k podverzi, která se později odebere, běží na nejbližší dostupnou verzi místo verze, která byla původně nastavena v FUNCTIONS_EXTENSION_VERSION. Oznámení služby App Service oznamují odebrání menší verze.

Poznámka:

Když se pokusíte publikovat ze sady Visual Studio do aplikace, která je připnutá ke konkrétní podverzi modulu runtime, zobrazí se dialogové okno s výzvou k aktualizaci na nejnovější verzi nebo zrušení publikování. Pokud se chcete této kontrole vyhnout, musíte použít konkrétní podverzi, přidejte do <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> souboru vlastnost .csproj .

K dočasnému připnutí aplikace na konkrétní verzi modulu runtime použijte jednu z těchto metod:

Pokud chcete zobrazit a aktualizovat verzi modulu runtime, kterou aktuálně používá aplikace funkcí, postupujte takto:

  1. Na webu Azure Portal přejděte do aplikace funkcí.

  2. Rozbalte nastavení a pak vyberte Konfigurace.

  3. Na kartě Nastavení modulu runtime funkce si poznamenejte verzi modulu runtime. V tomto příkladu je verze nastavena na ~4.

    Snímek obrazovky znázorňující, jak zobrazit verzi modulu runtime

  1. Pokud chcete aplikaci připnout na konkrétní podverzi, rozbalte v levém podokně nastavení a pak vyberte Proměnné prostředí.

  2. Na kartě Nastavení aplikace vyberte FUNCTIONS_EXTENSION_VERSION, změňte hodnotu na požadovanou podverzi a pak vyberte Použít.

  3. Vyberte Použít a pak vyberte Potvrdit , aby se změny použily, a restartujte aplikaci.

Aplikace funkcí se restartuje po provedení změny nastavení aplikace.

Pokud chcete aplikaci funkcí připnout na konkrétní verzi modulu runtime v Linuxu, nastavte adresu URL základní image specifickou pro verzi v linuxFxVersion nastavení webu ve formátu DOCKER|<PINNED_VERSION_IMAGE_URI>.

Důležité

Připnuté aplikace funkcí v Linuxu nedostávají pravidelné aktualizace zabezpečení a hostování funkcí. Pokud ji nedoporučuje pracovník podpory, použijte FUNCTIONS_EXTENSION_VERSION nastavení a standardní linuxFxVersion hodnotu pro váš jazyk a verzi, například Python|3.12. Platné hodnoty najdete v referenčním linuxFxVersion článku.

Připnutí na konkrétní modul runtime se v současné době nepodporuje pro aplikace funkcí linuxu spuštěné v plánu Consumption.

Následující příklad ukazuje linuxFxVersion hodnotu potřebnou k připnutí aplikace funkcí Node.js 16 na konkrétní verzi modulu runtime 4.14.0.3:

DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16

V případě potřeby vám může pracovník podpory poskytnout platný identifikátor URI základní image pro vaši aplikaci.

K zobrazení a nastavení linuxFxVersionpříkazu Azure CLI použijte následující příkazy Azure CLI. Aktuálně nemůžete nastavit linuxFxVersion na portálu nebo pomocí Azure PowerShellu:

  • Pokud chcete zobrazit aktuální verzi modulu runtime, použijte příkaz az functionapp config show :

    az functionapp config show --name <function_app> \
    --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsv
    

    V tomto kódu nahraďte <function_app> názvem vaší aplikace funkcí. Nahraďte <my_resource_group> také název skupiny prostředků pro vaši aplikaci funkcí. Vrátí se aktuální hodnota linuxFxVersion .

  • Pokud chcete aktualizovat linuxFxVersion nastavení v aplikaci funkcí, použijte příkaz az functionapp config set :

    az functionapp config set --name <FUNCTION_APP> \
    --resource-group <RESOURCE_GROUP> \
    --linux-fx-version <LINUX_FX_VERSION>
    

    Nahraďte <FUNCTION_APP> názvem vaší aplikace funkcí. Nahraďte <RESOURCE_GROUP> také název skupiny prostředků pro vaši aplikaci funkcí. Nakonec nahraďte <LINUX_FX_VERSION> hodnotou konkrétního obrázku poskytnutého pracovníkem podpory.

Tyto příkazy můžete spustit z Azure Cloud Shellutak, že v předchozích příkladech kódu zvolíte Open Cloud Shell. Tento příkaz můžete spustit také místně pomocí Azure CLI po spuštění az login a přihlásit se.

Aplikace funkcí se restartuje po provedení změny konfigurace webu.

Další kroky