Udostępnij za pośrednictwem


Omówienie wersji środowiska uruchomieniowego usługi Azure Functions

Usługa Azure Functions obsługuje obecnie dwie wersje hosta środowiska uruchomieniowego. W poniższej tabeli przedstawiono obecnie obsługiwane wersje środowiska uruchomieniowego, ich poziom wsparcia oraz informacje o tym, kiedy powinny być używane:

Wersja Poziom pomocy technicznej opis
4.x Ogólna dostępność Zalecana wersja środowiska uruchomieniowego dla funkcji we wszystkich językach. Zapoznaj się z tematem Obsługiwane wersje językowe.
1.x Ogólna dostępność (wsparcie kończy się 14 września 2026 r.) Obsługiwane tylko w przypadku aplikacji języka C#, które muszą używać .NET Framework. Ta wersja jest w trybie konserwacji z ulepszeniami dostępnymi tylko w nowszych wersjach. Wsparcie zostanie zakończone dla wersji 1.x w dniu 14 września 2026 r. Zdecydowanie zalecamy przeprowadzenie migracji aplikacji do wersji 4.x, która obsługuje programy .NET Framework 4.8, .NET 8 i .NET 9.

Ważne

Od 13 grudnia 2022 r. aplikacje funkcji działające w wersjach 2.x i 3.x środowiska uruchomieniowego usługi Azure Functions nie są już objęte wsparciem doatkowym. Aby uzyskać więcej informacji, zobacz Wycofane wersje.

W tym artykule szczegółowo opisano niektóre różnice między obsługiwanymi wersjami, sposób tworzenia poszczególnych wersji oraz sposób zmiany wersji, w której działają funkcje.

Poziomy obsługi

Istnieją dwa poziomy obsługi:

  • Ogólnie dostępne (GA) — w pełni obsługiwane i zatwierdzone do użytku produkcyjnego.
  • Wersja zapoznawcza — nie jest jeszcze obsługiwana, ale oczekuje się, że w przyszłości osiągnie stan ogólnie dostępnej wersji.

Języki

Wszystkie funkcje w aplikacji funkcji muszą mieć ten sam język. Język funkcji można wybrać w aplikacji funkcji podczas tworzenia aplikacji. Język aplikacji funkcji jest utrzymywany w ustawieniu FUNCTIONS_WORKER_RUNTIME i nie można go zmienić, gdy istnieją funkcje.

W poniższej tabeli przedstawiono wersje platformy .NET obsługiwane przez usługę Azure Functions. Wybierz preferowany język programowania w górnej części artykułu.

Obsługiwana wersja platformy .NET zależy zarówno od wersji środowiska uruchomieniowego usługi Functions, jak i wybranego modelu wykonywania:

Kod funkcji jest uruchamiany w osobnym procesie roboczym platformy .NET. Używaj z obsługiwanymi wersjami platform .NET i .NET Framework. Aby dowiedzieć się więcej, zobacz Develop .NET isolated worker process functions (Tworzenie izolowanych funkcji procesów roboczych platformy .NET).

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data EOL społeczności
.NET 9 Ogólna dostępność 12 maja 2026 r.
.NET 8 Ogólna dostępność 10 listopada 2026 r.
.NET Framework 4.8.1 Ogólna dostępność Zobacz zasady

Platforma .NET 6 była wcześniej obsługiwana w modelu izolowanego procesu roboczego, ale osiągnęła koniec oficjalnego wsparcia 12 listopada 2024 r.

Platforma .NET 7 była wcześniej obsługiwana w modelu izolowanego procesu roboczego, ale 14 maja 2024 r. zakończyła się oficjalnym wsparciem.

Aby uzyskać więcej informacji, zobacz Przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym procesie roboczym.

W poniższej tabeli przedstawiono wersje językowe obsługiwane przez funkcje Języka Java. Wybierz preferowany język programowania w górnej części artykułu.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data EOL społeczności
Java 21 (tylko system Linux) Podgląd Wrzesień 2028 r.
Java 17 Ogólna dostępność Wrzesień 2027 r.
Java 11 Ogólna dostępność Wrzesień 2027 r.
Java 8 Ogólna dostępność 30 listopada 2026 r.

Aby uzyskać więcej informacji, zobacz Azure Functions Java developer guide (Przewodnik dla deweloperów języka Java usługi Azure Functions).

W poniższej tabeli przedstawiono wersje językowe obsługiwane dla funkcji Node.js. Wybierz preferowany język programowania w górnej części artykułu.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data EOL społeczności
Node.js 22 Podgląd 30 kwietnia 2027 r.
Node.js 20 Ogólna dostępność 30 kwietnia 2026 r.
Node.js 18 Ogólna dostępność 30 kwietnia 2025 r.

Język TypeScript jest obsługiwany za pośrednictwem transpilowania do języka JavaScript. Aby uzyskać więcej informacji, zobacz Przewodnik dewelopera usługi Azure Functions Node.js.

W poniższej tabeli przedstawiono wersję języka obsługiwaną dla funkcji programu PowerShell. Wybierz preferowany język programowania w górnej części artykułu.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data EOL społeczności
PowerShell 7.4 Ogólna dostępność 10 listopada 2026 r.
PowerShell 7.2 Ogólna dostępność piątek, 8 listopada 2024 r.

Aby uzyskać więcej informacji, zobacz Przewodnik dla deweloperów programu PowerShell usługi Azure Functions.

W poniższej tabeli przedstawiono wersje językowe obsługiwane dla funkcji języka Python. Wybierz preferowany język programowania w górnej części artykułu.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data EOL społeczności
Python 3.11 Ogólna dostępność Październik 2027 r.
Python 3.10 Ogólna dostępność Październik 2026 r.
Python 3.9 Ogólna dostępność Październik 2025 r.
Python 3.8 Ogólna dostępność Październik 2024 r.

Aby uzyskać więcej informacji, zobacz Azure Functions Python developer guide (Przewodnik dla deweloperów języka Python w usłudze Azure Functions).

Aby uzyskać informacje o planowanych zmianach dotyczących obsługiwanych języków, zobacz Harmonogram działania dla platformy Azure.

Aby uzyskać informacje o wersjach językowych poprzednio obsługiwanych wersji środowiska uruchomieniowego usługi Functions, zobacz Wycofane wersje środowiska uruchomieniowego.

Uruchamianie w określonej wersji

Wersja środowiska uruchomieniowego usługi Functions używana przez opublikowane aplikacje na platformie Azure jest określana przez FUNCTIONS_EXTENSION_VERSION ustawienie aplikacji. W niektórych przypadkach i w przypadku niektórych języków można zastosować inne ustawienia.

Domyślnie aplikacje funkcji utworzone w witrynie Azure Portal za pomocą interfejsu wiersza polecenia platformy Azure lub z narzędzi programu Visual Studio są ustawione na wersję 4.x. W razie potrzeby możesz zmodyfikować tę wersję. Po utworzeniu aplikacji funkcji można obniżyć wersję środowiska uruchomieniowego do wersji 1.x, ale przed dodaniem wszystkich funkcji. Aktualizowanie do nowszej wersji głównej jest dozwolone nawet w przypadku aplikacji, które mają istniejące funkcje.

Migrowanie istniejących aplikacji funkcji

Jeśli aplikacja ma istniejące funkcje, należy podjąć środki ostrożności przed przejściem do nowszej wersji głównej środowiska uruchomieniowego. W poniższych artykułach szczegółowo opisano zmiany powodujące niezgodność między wersjami głównymi, w tym zmiany powodujące niezgodność specyficzne dla języka. Zawierają one również instrukcje krok po kroku dotyczące pomyślnej migracji istniejącej aplikacji funkcji.

Zmiana wersji aplikacji na platformie Azure

Używane są następujące główne wartości wersji środowiska uruchomieniowego:

Wartość Cel środowiska uruchomieniowego
~4 4.x
~1 1.x

Ważne

Nie zmieniaj arbitralnie tego ustawienia aplikacji, ponieważ może być wymagane inne ustawienie aplikacji i zmiany w kodzie funkcji. W przypadku istniejących aplikacji funkcji postępuj zgodnie z instrukcjami migracji.

Przypinanie do określonej wersji pomocniczej

Aby rozwiązać problemy, które aplikacja funkcji mogła mieć podczas uruchamiania w najnowszej wersji głównej, musisz tymczasowo przypiąć aplikację do określonej wersji pomocniczej. Przypinanie zapewnia czas na poprawne uruchomienie aplikacji w najnowszej wersji głównej. Sposób przypinania do wersji pomocniczej różni się między systemami Windows i Linux. Aby dowiedzieć się więcej, zobacz Jak kierować do wersji środowiska uruchomieniowego usługi Azure Functions.

Starsze wersje pomocnicze są okresowo usuwane z usługi Functions. Aby uzyskać najnowsze informacje o wersjach usługi Azure Functions, w tym o usunięciu określonych starszych wersji pomocniczych, monitoruj ogłoszenia usługi aplikacja systemu Azure.

Minimalne wersje rozszerzeń

Technicznie nie istnieje korelacja między wersjami rozszerzenia powiązania i wersją środowiska uruchomieniowego usługi Functions. Jednak począwszy od wersji 4.x środowisko uruchomieniowe usługi Functions wymusza minimalną wersję dla wszystkich rozszerzeń wyzwalacza i powiązań.

Jeśli zostanie wyświetlone ostrzeżenie o pakiecie, który nie spełnia minimalnej wymaganej wersji, należy zaktualizować pakiet NuGet do minimalnej wersji, tak jak zwykle. Minimalne wymagania dotyczące wersji rozszerzeń używanych w usłudze Functions w wersji 4.x można znaleźć w połączonym pliku konfiguracji.

W przypadku skryptu języka C# zaktualizuj odwołanie do pakietu rozszerzeń w host.json w następujący sposób:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Technicznie nie istnieje korelacja między wersjami pakietów rozszerzeń i wersją środowiska uruchomieniowego usługi Functions. Jednak począwszy od wersji 4.x środowisko uruchomieniowe usługi Functions wymusza minimalną wersję pakietów rozszerzeń.

Jeśli zostanie wyświetlone ostrzeżenie o wersji pakietu rozszerzenia, które nie spełnia minimalnej wymaganej wersji, zaktualizuj istniejące odwołanie do pakietu rozszerzeń w host.json w następujący sposób:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Aby dowiedzieć się więcej o pakietach rozszerzeń, zobacz Pakiety rozszerzeń.

Wycofane wersje

Te wersje środowiska uruchomieniowego usługi Functions osiągnęły koniec rozszerzonej pomocy technicznej 13 grudnia 2022 r.

Wersja Bieżący poziom pomocy technicznej Poprzedni poziom pomocy technicznej
3.x Brak obsługi Ogólna dostępność
2.x Brak obsługi Ogólna dostępność

Jak najszybciej należy przeprowadzić migrację aplikacji do wersji 4.x, aby uzyskać pełną pomoc techniczną. Aby uzyskać pełny zestaw instrukcji migracji specyficznych dla języka, zobacz Migrowanie aplikacji do usługi Azure Functions w wersji 4.x.

Aplikacje korzystające z wersji 2.x i 3.x nadal mogą być tworzone i wdrażane z potoku ciągłej integracji/ciągłego wdrażania DevOps, a wszystkie istniejące aplikacje będą nadal działać bez zmian powodujących niezgodność. Jednak twoje aplikacje nie kwalifikują się do nowych funkcji, poprawek zabezpieczeń i optymalizacji wydajności. Po uaktualnieniu aplikacji do wersji 4.x możesz uzyskać pomoc techniczną dotyczącą powiązanych usług.

Koniec wsparcia dla wersji 2.x i 3.x jest spowodowany końcem wsparcia dla platformy .NET Core 3.1, które miały jako podstawową zależność. To wymaganie dotyczy wszystkich języków obsługiwanych przez usługę Azure Functions.

Wersje aplikacji opracowane lokalnie

Możesz wprowadzić następujące aktualizacje dla aplikacji funkcji, aby lokalnie zmienić wersje docelowe.

Wersje środowiska uruchomieniowego programu Visual Studio

W programie Visual Studio podczas tworzenia projektu wybierasz wersję środowiska uruchomieniowego. Narzędzia usługi Azure Functions dla programu Visual Studio obsługują dwie główne wersje środowiska uruchomieniowego. Poprawna wersja jest używana podczas debugowania i publikowania na podstawie ustawień projektu. Ustawienia wersji są zdefiniowane w .csproj pliku w następujących właściwościach:

<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>

Jeśli używasz modelu izolowanego procesu roboczego, możesz wybrać strukturę docelową , net8.0net6.0lub net48 . Możesz również użyć obsługi wersji zapoznawczej dla programu net9.0. Jeśli używasz modelu przetwarzania, możesz wybrać net8.0 opcję lub net6.0, a musisz uwzględnić Microsoft.NET.Sdk.Functions rozszerzenie ustawione na co najmniej 4.4.0.

Platforma .NET 7 była wcześniej obsługiwana w modelu izolowanego procesu roboczego, ale 14 maja 2024 r. zakończyła się oficjalnym wsparciem.

Visual Studio Code i Azure Functions Core Tools

Narzędzia Azure Functions Core Tools są używane do tworzenia wierszy polecenia, a także przez rozszerzenie usługi Azure Functions dla programu Visual Studio Code. Aby uzyskać więcej informacji, zobacz Instalowanie podstawowych narzędzi usługi Azure Functions.

W przypadku programowania w programie Visual Studio Code można również zaktualizować ustawienie użytkownika, azureFunctions.projectRuntime aby było zgodne z zainstalowaną wersją narzędzi. To ustawienie aktualizuje również szablony i języki używane podczas tworzenia aplikacji funkcji.

Powiązania

Począwszy od wersji 2.x, środowisko uruchomieniowe korzysta z nowego modelu rozszerzalności powiązań, który oferuje następujące korzyści:

  • Obsługa rozszerzeń powiązań innych firm.

  • Oddzielenie środowiska uruchomieniowego i powiązań. Ta zmiana umożliwia niezależne wersje i wydawanie rozszerzeń powiązań. Możesz na przykład zdecydować się na uaktualnienie do wersji rozszerzenia, która opiera się na nowszej wersji bazowego zestawu SDK.

  • Lżejsze środowisko wykonawcze, w którym są znane i ładowane tylko powiązania używane przez środowisko uruchomieniowe.

Z wyjątkiem wyzwalaczy HTTP i czasomierza wszystkie powiązania muszą zostać jawnie dodane do projektu aplikacji funkcji lub zarejestrowane w portalu. Aby uzyskać więcej informacji, zobacz Rejestrowanie rozszerzeń powiązań.

W poniższej tabeli przedstawiono powiązania obsługiwane w każdej wersji środowiska uruchomieniowego.

W tej tabeli przedstawiono powiązania obsługiwane w głównych wersjach środowiska uruchomieniowego usługi Azure Functions:

Typ 1.x1 2.x i nowsze2 Wyzwalacz Dane wejściowe Dane wyjściowe
Blob Storage
Azure Cosmos DB
Azure Data Explorer
Azure SQL
Dapr4
Event Grid
Event Hubs
Http i elementy webhook
IoT Hub
Kafka3
Mobile Apps
Notification Hubs
Queue Storage
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Table Storage
Czasomierz
Twilio

Uwagi:

  1. Pomoc techniczna zakończy się w wersji 1.x środowiska uruchomieniowego usługi Azure Functions 14 września 2026 r. Zdecydowanie zalecamy przeprowadzenie migracji aplikacji do wersji 4.x w celu uzyskania pełnej pomocy technicznej.
  2. Począwszy od środowiska uruchomieniowego w wersji 2.x, wszystkie powiązania z wyjątkiem protokołu HTTP i czasomierza muszą być zarejestrowane. Zobacz Rejestrowanie rozszerzeń powiązań.
  3. Wyzwalacze nie są obsługiwane w planie Zużycie. Wymaga wyzwalaczy opartych na środowisku uruchomieniowym.
  4. Obsługiwane tylko w rozwiązaniach Kubernetes, IoT Edge i innych trybach hostowanych samodzielnie.

Czas trwania limitu czasu aplikacji funkcji

Limit czasu dla funkcji w aplikacji funkcji jest definiowany przez functionTimeout właściwość w pliku projektu host.json . Ta właściwość ma zastosowanie specjalnie do wykonywania funkcji. Po uruchomieniu wykonywania funkcji wyzwalacz musi zwrócić/odpowiedzieć w czasie trwania limitu czasu. Aby uniknąć przekroczenia limitu czasu, ważne jest, aby pisać niezawodne funkcje. Aby uzyskać więcej informacji, zobacz Zwiększanie wydajności i niezawodności usługi Azure Functions.

W poniższej tabeli przedstawiono wartości domyślne i maksymalne (w minutach) dla określonych planów:

Planowanie Wartość domyślna Maksymalna1
Plan Flex Consumption 30 Bez ruchu2
Plan Premium 304 Bez ruchu2
Dedykowany plan 304 Bez ruchu3
Aplikacje kontenera 30 Bez ruchu5
Plan zużycia 5 10
  1. Niezależnie od ustawienia limitu czasu aplikacji funkcji maksymalny czas, przez który funkcja wyzwalana przez protokół HTTP może odpowiedzieć na żądanie, wynosi 230 sekund. Wynika to z domyślnego limitu czasu bezczynności usługi Azure Load Balancer. W przypadku dłuższych czasów przetwarzania rozważ użycie wzorca asynchronicznego rozszerzenia Durable Functions lub odroczenie rzeczywistej pracy i zwrócenie natychmiastowej odpowiedzi.
  2. Nie jest wymuszany maksymalny czas trwania limitu czasu wykonywania. Jednak okres prolongaty dla wykonania funkcji wynosi 60 minut w czasie skalowania dla planów Flex Consumption i Premium, a okres prolongaty wynosi 10 minut podczas aktualizacji platformy.
  3. Wymaga ustawienia planu usługi App Service na zawsze włączone. Okres prolongaty 10 minut jest podawany podczas aktualizacji platformy.
  4. Domyślny limit czasu dla wersji 1.x środowiska uruchomieniowego hosta usługi Functions jest niezwiązany.
  5. Gdy minimalna liczba replik jest ustawiona na zero, domyślny limit czasu zależy od określonych wyzwalaczy używanych w aplikacji.

Następne kroki

Aby uzyskać więcej informacji, zobacz następujące zasoby: