Obsługiwane języki i środowiska uruchomieniowe w usłudze Azure Static Web Apps

Usługa Azure Static Web Apps oferuje dwa różne miejsca, w których środowisko uruchomieniowe i wersje językowe są ważne, na frontonie i dla interfejsu API.

Typ środowiska uruchomieniowego Opis
Frontonu Wersja odpowiedzialna za uruchamianie kroków kompilacji, które budują aplikację front-endu witryny internetowej.
API Wersja i środowisko uruchomieniowe usługi Azure Functions używane w aplikacji internetowej.

Frontonu

Możesz określić wersję używaną do kompilowania frontonu statycznej aplikacji internetowej. Konfigurowanie wersji innej niż domyślna jest często konieczne tylko wtedy, gdy trzeba kierować do starszych wersji.

Możesz określić wersję środowiska uruchomieniowego, która kompiluje fronton statycznej aplikacji internetowej w pliku package.json w engines sekcji pliku.

{
  ...
  "engines": {
   "node": ">=14.0.0"
  }
}

API

Podstawowa obsługa interfejsów API w usłudze Azure Static Web Apps jest zapewniana przez usługę Azure Functions. Aby uzyskać szczegółowe informacje, zapoznaj się z obsługiwanymi językami i środowiskami uruchomieniowymi usługi Azure Functions .

Następujące wersje są obsługiwane w przypadku funkcji zarządzanych w usłudze Static Web Apps. Jeśli aplikacja wymaga wersji, która nie ma na liście, rozważ przeniesienie własnych funkcji do aplikacji.

Aby skonfigurować wersję środowiska uruchomieniowego języka interfejsu API, ustaw właściwość apiRuntime w sekcji platform na jedną z następujących obsługiwanych wartości.

Wersja środowiska uruchomieniowego języka System operacyjny Wersja usługi Azure Functions apiRuntime wartość Data zakończenia pomocy technicznej
.NET Core 3.1 Windows 3.x dotnet:3.1 3 grudnia 2022 r.
.NET 6.0 wewnątrz procesu Windows 4.x dotnet:6.0 30 kwietnia 2025 r.
Proces platformy .NET 8.0 Windows 4.x dotnet:8.0 10 listopada 2026 r.
Izolowane środowisko .NET 6.0 Windows 4.x dotnet-isolated:6.0 30 kwietnia 2025 r.
Izolowany program .NET 7.0 Windows 4.x dotnet-isolated:7.0 30 kwietnia 2025 r.
Izolowany program .NET 8.0 Windows 4.x dotnet-isolated:8.0 10 listopada 2026 r.
Izolowany program .NET 9.0 Windows 4.x dotnet-isolated:9.0 10 listopada 2026 r.
.NET 10.0 isolated worker Windows 4.x dotnet-isolated:10.0 -
Node.js 12.x Linux 3.x node:12 3 grudnia 2022 r.
Node.js 14.x Linux 4.x node:14 30 kwietnia 2025 r.
Node.js 16.x Linux 4.x node:16 30 kwietnia 2025 r.
Node.js 18.x Linux 4.x node:18 31 maja 2025
Node.js 20.x Linux 4.x node:20 -
Node.js 22.x Linux 4.x node:22 -
Python 3.8 Linux 4.x python:3.8 30 kwietnia 2025 r.
Python 3.9 Linux 4.x python:3.9 -
Python 3.10 Linux 4.x python:3.10 -
Python 3.11 Linux 4.x python:3.11 -

.NET

Aby zmienić wersję wykonawczą w aplikacji .NET, zmień TargetFramework wartość w pliku csproj i ustaw apiRuntime wartość w pliku staticwebapp.config.json na odpowiednią wersję. Upewnij się, że wartość apiRuntime odpowiada temu, co definiujesz w pliku csproj.

.NET 10.0 jest obsługiwany wyłącznie w modelu izolowanego procesu. Jeśli Twoje API korzysta z modelu w procesie, najpierw przejdź na model izolowanego procesu roboczego. Aby dowiedzieć się o pakietach i ustawieniach projektowych potrzebnych do targetowania .NET 10.0, zobacz Przewodnik po uruchamianiu C# Azure Functions w modelu izolowanego pracownika.

Poniższy przykład pokazuje, jak zaktualizować element TargetFramework dla platformy .NET 10.0 jako wersję środowiska uruchomieniowego języka API w pliku csproj.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    ...
  </PropertyGroup>
...

Poniższa przykładowa konfiguracja pokazuje, jak użyć właściwości apiRuntime, aby wybrać .NET 10.0 isolated jako wersję środowiska uruchomieniowego języka API w pliku staticwebapp.config.json.

{
  ...
  "platform": {
    "apiRuntime": "dotnet-isolated:10.0"
  }
  ...
}

Node.js

Poniższa przykładowa konfiguracja pokazuje, jak używać właściwości apiRuntime do wyboru wersji językowej środowiska uruchomieniowego API Node.js 20 w pliku staticwebapp.config.json.

{
  ...
  "platform": {
    "apiRuntime": "node:20"
  }
  ...
}

Python

Poniższa przykładowa konfiguracja pokazuje, jak używać apiRuntime właściwości do wybierania języka Python 3.11 jako wersji środowiska uruchomieniowego języka interfejsu API w pliku staticwebapp.config.json .

{
  ...
  "platform": {
    "apiRuntime": "python:3.11"
  }
  ...
}

Ponowne włączanie serwerów proxy w wersji 4.x

Usługa Azure Functions obsługuje ponowne włączanie serwerów proxy w wersji 4.x. Aby włączyć obsługę serwera proxy w zarządzanych funkcjach dla statycznej aplikacji internetowej, ustaw SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS na true w ustawieniach aplikacji.

Uwaga

Chociaż serwery proxy są obsługiwane w wersji 4.x, rozważ użycie integracji usługi Azure API Management z aplikacjami funkcji zarządzanych, więc aplikacja nie jest zależna od serwerów proxy.

Deprecjacje

Uwaga

Teraz, gdy usługa Azure Functions w wersji 3 została wycofana, usługa Static Web Apps używa usługi Azure Functions w wersji 4 na potrzeby obsługi środowiska uruchomieniowego interfejsu API dla języka Python 3.8. Ponownie wdróż aplikację, aby włączyć tę zmianę. Mimo że nie jest to zalecane, można przywrócić do wersji 3, ustawiając zmienną środowiskową USEV3_FOR_PYTHON38 na truewartość .

Następujące środowiska uruchomieniowe są przestarzałe i niezalecane w usłudze Azure Static Web Apps. Aby uzyskać więcej informacji na temat zmiany środowiska uruchomieniowego, zobacz Określanie wersji środowiska uruchomieniowego języka interfejsu API w usłudze Azure Static Web Apps i Migrowanie aplikacji z usługi Azure Functions w wersji 3.x do wersji 4.x.

  • .NET Core 3.1
  • Node.js 12.x