Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W usłudze Azure Functions obsługa stosu językowego jest ograniczona do określonych wersji. Gdy nowe wersje staną się dostępne, możesz zaktualizować aplikacje funkcji, aby korzystać z nowych funkcji. Wsparcie dla usługi Functions kończy się również dla starszych wersji oprogramowania i zazwyczaj pokrywa się z harmonogramami zakończenia wsparcia społeczności. Aby uzyskać więcej informacji, zobacz zasady obsługi środowiska uruchomieniowego języka. Aby uzyskać obsługiwane wersje różnych języków, zobacz Języki według wersji środowiska uruchomieniowego.
Aby zapewnić, że aplikacje funkcji będą nadal otrzymywać pomoc techniczną, postępuj zgodnie z instrukcjami w tym artykule, aby zaktualizować je do najnowszych dostępnych wersji. Sposób aktualizowania aplikacji funkcji zależy od kilku czynników:
- Język używany do tworzenia aplikacji funkcji. Pamiętaj, aby wybrać język programowania w górnej części tego artykułu.
- System operacyjny, na którym działa aplikacja funkcji na platformie Azure: Windows lub Linux.
- Plan hostingu.
Uwaga
W tym artykule pokazano, jak zaktualizować wersję platformy .NET aplikacji funkcji korzystającej z izolowanego modelu procesu roboczego. Jeśli aplikacja funkcji działa w starszej wersji platformy .NET i korzysta z modelu przetwarzania, rozważ następujące opcje:
Przygotowywanie aplikacji funkcji
Przed zaktualizowaniem konfiguracji stosu dla aplikacji funkcji na platformie Azure wykonaj zadania opisane w poniższych sekcjach.
Przegląd zależności
Przed zaktualizowaniem wersji języka zapoznaj się z następującymi potencjalnymi zależnościami:
-
Pakiety rozszerzeń: sprawdź,
host.jsonczy plik odwołuje się do zgodnej wersji pakietu rozszerzeń. W większości scenariuszy zalecane są pakiety w wersji 4.x.
Rozszerzenia powiązań: zaktualizuj wszystkie jawne odwołania do rozszerzeń powiązań na wersje zgodne z nową wersją języka.
Zależności pakietów: przejrzyj i zaktualizuj wszystkie zależności pakietów do wersji, które obsługują wersję języka docelowego.
Narzędzia lokalne: Upewnij się, że lokalne narzędzia programistyczne, takie jak narzędzia Azure Functions Core Tools, zestawy SDK i środowiska IDE, obsługują nową wersję języka.
Lokalne weryfikowanie aplikacji funkcji
Przetestuj i zweryfikuj kod aplikacji funkcji lokalnie w nowej wersji docelowej.
Wykonaj następujące kroki, aby zaktualizować projekt na komputerze lokalnym:
Upewnij się, że zainstalowano docelową wersję zestawu .NET SDK.
Jeśli używasz wersji zapoznawczej, zobacz Wskazówki dotyczące funkcji dla wersji zapoznawczej platformy .NET , aby upewnić się, że wersja jest obsługiwana. Korzystanie z wersji zapoznawczych platformy .NET może wymagać wykonania większej liczby kroków.
Zaktualizuj odwołania do najnowszych wersji zestawu Microsoft.Azure.Functions.Worker i Microsoft.Azure.Functions.Worker.Sdk.
Zaktualizuj platformę docelową projektu do nowej wersji. W przypadku projektów języka C# należy zaktualizować
<TargetFramework>element w pliku csproj . Aby uzyskać więcej informacji na temat używanej wersji, zobacz Platformy docelowe.Zmiana struktury docelowej projektu może również wymagać zmian w częściach łańcucha narzędzi poza kodem projektu. Na przykład w programie Visual Studio Code może być konieczne zaktualizowanie
azureFunctions.deploySubpathustawienia rozszerzenia w ustawieniach użytkownika lub pliku .vscode/settings.json projektu. Sprawdź, czy nie ma zależności od wersji platformy, która istnieje poza kodem projektu, w ramach kroków kompilacji lub potoku ciągłego integracji i ciągłego dostarczania (CI/CD).Wprowadź wszelkie aktualizacje kodu projektu wymagane przez nową wersję platformy .NET. Zapoznaj się z informacjami o wersji, aby uzyskać szczegółowe informacje. Możesz również użyć Asystenta uaktualniania platformy .NET , aby pomóc zaktualizować kod w odpowiedzi na zmiany w różnych wersjach głównych.
Po wprowadzeniu tych zmian ponownie skompiluj projekt i przetestuj go, aby potwierdzić, że aplikacja funkcji działa zgodnie z oczekiwaniami.
Przechodzenie do najnowszego środowiska uruchomieniowego usługi Functions
Upewnij się, że aplikacja funkcji działa w najnowszej wersji środowiska uruchomieniowego usługi Functions (wersja 4.x). Wersję środowiska uruchomieniowego można określić w witrynie Azure Portal lub przy użyciu interfejsu wiersza polecenia platformy Azure.
Wykonaj następujące kroki, aby określić wersję środowiska uruchomieniowego usługi Functions:
Na portalu Azure znajdź i wybierz aplikację funkcji. W menu bocznym wybierz pozycję Konfiguracja ustawień>.
Przejdź do karty Ustawienia środowiska uruchomieniowego funkcji i sprawdź wartość wersji środowiska uruchomieniowego . Aplikacja funkcji powinna działać w wersji 4.x środowiska uruchomieniowego usługi Functions (
~4).
Jeśli musisz zaktualizować aplikację funkcji do wersji 4.x, zobacz Migrowanie aplikacji z usługi Azure Functions w wersji 1.x do wersji 4.x lub Migrowanie aplikacji z usługi Azure Functions w wersji 3.x do wersji 4.x. Zamiast po prostu zmieniać ustawienie FUNCTIONS_EXTENSION_VERSION, postępuj zgodnie z instrukcjami w tych artykułach.
Publikowanie aktualizacji aplikacji funkcji
Jeśli aplikacja funkcji została zaktualizowana tak, aby działała poprawnie w nowej wersji, opublikuj aktualizacje aplikacji funkcji przed zaktualizowaniem konfiguracji stosu dla aplikacji funkcji.
Napiwek
Aby usprawnić proces aktualizacji, zminimalizuj przestoje aplikacji funkcji i zapewnij potencjalną wersję wycofania, opublikuj zaktualizowaną aplikację funkcji w miejscu przejściowym. Aby uzyskać więcej informacji, zobacz Miejsca wdrożenia usługi Azure Functions.
Po opublikowaniu zaktualizowanej aplikacji funkcji w miejscu przejściowym upewnij się, że postępuj zgodnie z instrukcjami aktualizacji specyficznymi dla miejsca w pozostałej części tego artykułu. Później zamienisz zaktualizowane miejsce przejściowe na środowisko produkcyjne.
Rozważ użycie slotów
Przed zaktualizowaniem wersji językowej aplikacji funkcji utwórz miejsce wdrożenia do użycia na potrzeby testowania i wdrażania. Takie podejście minimalizuje przestoje i zapewnia łatwą opcję wycofywania w przypadku wystąpienia problemów. W przykładach w tym artykule użyto miejsca przejściowego o nazwie staging.
Plan Zużycia Flex: sloty nie są obecnie obsługiwane. Najpierw należy zweryfikować zaktualizowany kod w aplikacji funkcji nieprodukcyjnej. Podczas wdrażania w uruchomionej aplikacji może być możliwe użycie strategii aktualizacji stopniowej. Aby uzyskać więcej informacji, zobacz Strategie aktualizacji witryn w rozwiązaniu Flex Consumption.
Ważne
Strategia aktualizacji stopniowej jest obecnie dostępna w wersji zapoznawczej i nie jest zalecana w przypadku aplikacji produkcyjnych. Przed włączeniem tej strategii w dowolnej aplikacji produkcyjnej zapoznaj się z bieżącymi ograniczeniami i zagadnieniami .
Aktualizowanie konfiguracji stosu
Sposób aktualizowania konfiguracji stosu zależy od tego, czy aplikacja funkcji działa w systemie Windows, czy w systemie Linux na platformie Azure.
Kiedy korzystasz z slotu testowego, upewnij się, że kierujesz aktualizacje do właściwego slotu.
Aby zaktualizować wersję języka Java, wykonaj następujące kroki:
Na portalu Azure znajdź i wybierz aplikację funkcji. W menu bocznym wybierz pozycję Konfiguracja ustawień>. Jeśli masz miejsce przejściowe, wybierz określone miejsce.
Na karcie Ustawienia ogólne zaktualizuj wersję języka Java do żądanej wersji.
Wybierz Zapisz. Po powiadomieniu o ponownym uruchomieniu wybierz pozycję Kontynuuj.
Aby zaktualizować wersję platformy .NET, wykonaj następujące czynności:
Na portalu Azure znajdź i wybierz aplikację funkcji. W menu bocznym wybierz pozycję Konfiguracja ustawień>. Jeśli masz miejsce przejściowe, wybierz określone miejsce.
Na karcie Ustawienia ogólne zaktualizuj wersję platformy .NET do żądanej wersji.
Wybierz Zapisz. Po powiadomieniu o ponownym uruchomieniu wybierz pozycję Kontynuuj.
Aby zaktualizować wersję Node.js, wykonaj następujące czynności:
Na portalu Azure znajdź i wybierz aplikację funkcji. W menu bocznym wybierz pozycję Konfiguracja ustawień>. Jeśli masz miejsce przejściowe, wybierz określone miejsce.
Na karcie Ustawienia ogólne zaktualizuj Node.js wersję do żądanej wersji.
Wybierz Zapisz. Po powiadomieniu o ponownym uruchomieniu wybierz pozycję Kontynuuj. Ta zmiana spowoduje zaktualizowanie
WEBSITE_NODE_DEFAULT_VERSIONustawienia aplikacji.
Aby zaktualizować wersję programu PowerShell, wykonaj następujące czynności:
Na portalu Azure znajdź i wybierz aplikację funkcji. W menu bocznym wybierz pozycję Konfiguracja ustawień>. Jeśli masz miejsce przejściowe, wybierz określone miejsce.
Na karcie Ustawienia ogólne zaktualizuj wersję programu PowerShell Core do żądanej wersji.
Wybierz Zapisz. Po powiadomieniu o ponownym uruchomieniu wybierz pozycję Kontynuuj.
Portal nie obsługuje aplikacji języka Python w systemie Windows. Zamiast tego przejdź do karty Systemu Linux .
Aplikacja funkcji zostanie uruchomiona ponownie po zaktualizowaniu wersji.
Uwaga
Podczas ponownego uruchamiania aplikacja funkcji jest niedostępna przez krótki okres, zazwyczaj 30–60 sekund. Jeśli zaktualizujesz aplikację funkcjonalną bezpośrednio (bez użycia miejsca przejściowego), zaplanuj ten przestój podczas okna konserwacyjnego. Ponowne uruchomienie kończy wszystkie żądania w locie, a nowe żądania zakończą się niepowodzeniem do momentu pomyślnego ponownego uruchomienia aplikacji.
Sprawdź aktualizację
Po ponownym uruchomieniu aplikacji funkcji sprawdź, czy aktualizacja wersji języka zakończyła się pomyślnie.
Na portalu Azure znajdź i wybierz aplikację funkcji. W menu bocznym wybierz pozycję Konfiguracja ustawień>.
Na karcie Ustawienia ogólne sprawdź, czy wersja języka wyświetla wybraną nową wersję.
Wybierz Przegląd z menu bocznego i upewnij się, że Status jest wyświetlany jako Uruchomiono.
Po zweryfikowaniu wersji sprawdź również, czy funkcje działają zgodnie z oczekiwaniami.
Zamienianie miejsc
Jeśli używasz miejsca przejściowego do wdrażania projektu kodu i aktualizowania ustawień, zamień miejsce przejściowe na środowisko produkcyjne. Aby uzyskać więcej informacji, zobacz Zamiana miejsc.
Rozwiązywanie problemów
Jeśli wystąpią problemy po zaktualizowaniu wersji językowej, skorzystaj z poniższych wskazówek, aby rozwiązać typowe problemy:
Aplikacja funkcji nie uruchamia się
Objawy: Stan aplikacji funkcji jest wyświetlany jako Zatrzymane lub ciągłe ponowne uruchamianie.
Rozwiązania:
Sprawdź dzienniki aplikacji w witrynie Azure Portal:
- Przejdź do aplikacji funkcji i wybierz Monitorowanie>strumień logów.
- Poszukaj komunikatów o błędach związanych z niezgodnościami wersji środowiska uruchomieniowego lub języka.
Sprawdź, czy wszystkie zależności są zgodne z nową wersją języka:
- W przypadku platformy .NET upewnij się, że pakiety NuGet obsługują platformę docelową.
- W przypadku języka Python sprawdź, czy wersje pakietów w programie
requirements.txtsą zgodne. - W przypadku Node.jssprawdź, czy
package.jsonzależności obsługują nową wersję środowiska Node.
Sprawdź wersję pakietu rozszerzeń w
host.jsonpliku. Starsze pakiety mogą nie obsługiwać nowszych wersji językowych.
Funkcje kończą się niepowodzeniem z błędami środowiska uruchomieniowego
Objawy: Poszczególne funkcje zawodzą po wyzwoleniu, co skutkuje błędami w dziennikach.
Rozwiązania:
Przejrzyj zmiany powodujące niezgodność dla wersji językowej:
- Zobacz Zmiany powodujące niezgodność na platformie .NET dla używanej wersji docelowej.
- Zapoznaj się z informacjami o wersji języka Java , aby uzyskać wskazówki dotyczące migracji.
- Sprawdź informacje o wersjiNode.js pod kątem zmian powodujących niezgodność.
- Zobacz Co nowego w języku Python, aby zapoznać się ze zmianami specyficznymi dla wersji.
- Przejrzyj informacje o wersji programu PowerShell , aby uzyskać informacje o zmianach.
Aktualizowanie rozszerzeń powiązań do wersji zgodnych z nową wersją języka.
Przetestuj funkcje lokalnie przy użyciu nowej wersji językowej przed ponownym wdrożeniem.
Konflikty wersji rozszerzenia
Objawy: Błędy, które wspominają o niezgodności wersji "extension" lub "binding".
Rozwiązania:
Zaktualizuj wersję pakietu rozszerzenia do
host.jsonwersji 4.x lub nowszej.{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle", "version": "[4.*, 5.0.0)" } }W przypadku projektów platformy .NET, które używają jawnych odwołań rozszerzeń, zaktualizuj wszystkie
Microsoft.Azure.WebJobs.Extensions.*pakiety do najnowszych wersji.
Wycofywanie aktualizacji
Jeśli musisz przywrócić poprzednią wersję języka:
Jeśli użyto gniazda testowego:
- Przełącz z powrotem slot inscenizacji na produkcję.
- Zaktualizuj slot inscenizacyjny do poprzedniej wersji na potrzeby przyszłych prób.
Jeśli zaktualizowałeś środowisko produkcyjne bezpośrednio:
- Wykonaj te same kroki aktualizacji w tym artykule, ale określ poprzednią wersję języka.
- Ponownie wdróż poprzednią wersję kodu.
Monitoruj aplikację funkcji, aby upewnić się, że powraca do normalnego działania.
Napiwek
Aby uniknąć problemów, należy zawsze testować aktualizacje wersji języka w miejscu przejściowym przed zastosowaniem ich do środowiska produkcyjnego. Utwórz kopię zapasową konfiguracji aplikacji funkcji przed wprowadzeniem zmian.