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ść (GA) (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 osiągnęły koniec rozszerzonej pomocy technicznej. 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) — zatwierdzone i w pełni gotowe 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 funkcjonalnej muszą być w tym samym języku. 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.

Pamiętaj, aby wybrać preferowany język programowania w górnej części artykułu.

W poniższej tabeli przedstawiono wersje platformy .NET obsługiwane przez usługę Azure Functions.

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 środowisk .NET i .NET Framework. Aby dowiedzieć się więcej, zobacz przewodnik dotyczący uruchamiania usługi Azure Functions w języku C# w izolowanym modelu procesu roboczego.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data zakończenia pomocy technicznej
.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.

.NET 7 był wcześniej obsługiwany w modelu izolowanego procesu roboczego, ale zakończył oficjalne wsparcie 14 maja 2024.

Aby uzyskać więcej informacji, zobacz Przewodnik dotyczący uruchamiania funkcji Azure C# w modelu izolowanego pracownika.

W poniższej tabeli przedstawiono wersje językowe obsługiwane przez funkcje Języka Java.

Obsługiwana wersja Poziom pomocy technicznej Obsługiwane do
Java 21 (tylko system Linux) Ogólna dostępność Zobacz plan wydania i obsługi.
Java 17 Ogólna dostępność Zobacz plan wydania i obsługi.
Java 11 Ogólna dostępność Zobacz plan wydania i obsługi.
Java 8 Dostępność ogólna Zobacz tę stronę pomocy technicznej Aplikacji Temurin.

Aby uzyskać więcej informacji na temat tworzenia i uruchamiania funkcji Java, zobacz 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.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data zakończenia pomocy technicznej
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.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data zakończenia pomocy technicznej
PowerShell 7.4 Ogólna dostępność 10 listopada 2026 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.

Obsługiwana wersja Poziom pomocy technicznej Oczekiwana data zakończenia pomocy technicznej
Python 3.12 Podgląd Październik 2028 r.
Python 3.11 GA (Ogólna dostępność) Październik 2027 r.
Python 3.10 GA Październik 2026 r.
Python 3.9 Ogólna dostępność Październik 2025 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 na temat planowanych zmian w obsłudze języka, zobacz aktualizacje planu platformy Azure.

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

Uruchom 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 funkcjonalnych

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 łamiące zgodność między wersjami głównymi, w tym niezgodności specyficzne dla określonych języków. Zawierają one również instrukcje krok po kroku dotyczące pomyślnej migracji istniejącej aplikacji funkcji.

Zmienianie wersji aplikacji na platformie Azure

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

Wartość Cel uruchomieniowy
~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 postępuj zgodnie z instrukcjami migracji .

Przypinanie do określonej wersji podrzędnej

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

Starsze mniejsze wersje są okresowo usuwane z aplikacji Functions. Aby uzyskać najnowsze informacje o wydaniach usługi Azure Functions, w tym o usunięciu określonych starszych wersji pomocniczych, monitoruj ogłoszenia usługi Azure App Service.

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 wsparcia GA
2.x Brak wsparcia 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 DevOps CI/CD, a wszystkie istniejące aplikacje będą nadal działać bez wprowadzania niezgodnych zmian. 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.

Wersje 2.x i 3.x nie są już obsługiwane z powodu zakończenia obsługi platformy .NET Core 3.1, która była podstawową zależnością. 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 pliku .csproj 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ć net8.0, net6.0lub net48 jako platformę docelową. Możesz również wybrać użycie podglądu dla net9.0. Jeśli używasz modelu przetwarzania , możesz wybrać net8.0 lub net6.0i musisz dołączyć rozszerzenie Microsoft.NET.Sdk.Functions ustawione na co najmniej 4.4.0.

.NET 7 był wcześniej obsługiwany w modelu izolowanego procesu roboczego, ale zakończył oficjalne wsparcie 14 maja 2024.

Visual Studio Code oraz 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że być również konieczne zaktualizowanie ustawienia użytkownika dla azureFunctions.projectRuntime w celu dopasowania do zainstalowanej wersji 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ń wiązań spoza Microsoftu.

  • Oddzielenie środowiska uruchomieniowego i powiązań. Ta zmiana umożliwia wersjonowanie i niezależne 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 wzorce wyrażeń powiązań dla usługi Azure Functions .

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 webhooks
IoT Hub
Kafka3
Mobile Apps
Notification Hubs
Queue Storage
Redis
RabbitMQ3
SendGrid
Service Bus
SignalR
Przechowywanie tabeli
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 Rozszerzenia powiązań rejestru.
  3. Wyzwalacze nie są obsługiwane w planie Zużycie. Wymaga wyzwalaczy sterowanych przez środowisko uruchomieniowe.
  4. Obsługiwane tylko w rozwiązaniach Kubernetes, IoT Edge i innych trybach hostowanych samodzielnie.

Czas limitu czasowego dla aplikacji funkcji

Czas limitu dla funkcji w aplikacji funkcyjnej jest definiowany przez właściwość functionTimeout w pliku projektu host.json. Ta właściwość ma zastosowanie specjalnie do wykonywania funkcji. Po uruchomieniu wyzwalacza funkcja musi zwrócić odpowiedź w ramach 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 Maksymalnie1
Plan Konsumpcji Flex 30 Nieograniczony2
Plan Premium 304 Nieograniczony2
Dedykowany plan 304 Nieograniczony3
Aplikacje kontenerowe 30 Bezgraniczny5
Plan zużycia 5 10
  1. Niezależnie od ustawienia limitu czasu aplikacji funkcji 230 sekund jest maksymalnym czasem, przez który funkcja wyzwalana przez protokół HTTP może odpowiedzieć na żądanie. Jest to spowodowane domyślnym limitem czasu bezczynności usługi Azure Load Balancer. W przypadku dłuższego czasu przetwarzania rozważ użycie asynchronicznego wzorca Durable Functions lub odroczenie wykonania rzeczywistej pracy i natychmiastowe zwrócenie odpowiedzi.
  2. Nie jest wymuszane maksymalne ograniczenie czasu trwania 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. Podczas aktualizacji platformy przyznaje się okres karencji wynoszący 10 minut.
  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.

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