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 6 i .NET 8. |
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 8 | Ogólna dostępność | 10 listopada 2026 r. |
.NET 6 | Ogólna dostępność | 12 listopada 2024 r. |
.NET Framework 4.8 | Ogólna dostępność | Zobacz zasady |
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) | Wersja Preview | 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 20 | Ogólna dostępność | 30 kwietnia 2026 r. |
Node.js 18 | Ogólna dostępność | 30 kwietnia 2025 r. |
Node.js 16 | Ogólna dostępność | 11 września 2023 r.* |
Node.js 14 | Ogólna dostępność | 30 kwietnia 2023 r.* |
*Obsługa funkcji została przedłużona do 30 czerwca 2024 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.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.
- Migrowanie ze środowiska uruchomieniowego w wersji 3.x do wersji 4.x
- Migrowanie ze środowiska uruchomieniowego w wersji 1.x do wersji 4.x
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
Ważne
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.
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ć net8.0
strukturę , net6.0
lub net48
jako platformę docelową. 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 | ✔ | ✔ | ✔ |
1 Obsługa 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 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 zużycia | 5 | 10 |
Plan Flex Consumption | 30 | Nieograniczone3 |
Plan Premium | 302 | Nieograniczone3 |
Dedykowany plan | 302 | Nieograniczone3 |
Aplikacje kontenera | 305 | Nieograniczone3 |
- 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.
- Domyślny limit czasu dla wersji 1.x środowiska uruchomieniowego usługi Functions jest nieograniczony.
- Gwarantowane przez maksymalnie 60 minut. Stosowanie poprawek systemu operacyjnego i środowiska uruchomieniowego, stosowanie poprawek luk w zabezpieczeniach i skalowanie w zachowaniach może nadal anulować wykonywanie funkcji, dzięki czemu można zapisywać niezawodne funkcje.
- W planie Flex Consumption host nie wymusza limitu czasu wykonywania. Obecnie nie ma gwarancji, ponieważ platforma może wymagać przerwania wystąpień podczas skalowania, wdrożeń lub stosowania aktualizacji.
- 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: