다음을 통해 공유


Azure Static Web Apps에서 지원되는 언어 및 런타임

Azure Static Web Apps는 프런트 엔드와 API에서 런타임 및 언어 버전이 중요한 두 가지 위치를 제공합니다.

런타임 유형 설명
프런트 엔드 프런트 엔드 애플리케이션을 빌드하는 웹 사이트의 빌드 단계를 실행하는 버전입니다.
API 웹 애플리케이션에서 사용되는 Azure Functions의 버전 및 런타임입니다.

프런트 엔드

정적 웹앱의 프런트 엔드를 빌드하는 데 사용되는 버전을 지정할 수 있습니다. 기본이 아닌 버전을 구성하는 것은 이전 버전을 대상으로 지정해야 하는 경우에만 필요한 경우가 많습니다.

파일의 engines 섹션에 있는 package.json 파일에서 정적 웹앱의 프런트 엔드를 빌드하는 런타임 버전을 지정할 수 있습니다.

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

API

Azure Static Web Apps의 API에 대한 기본 지원은 Azure Functions에서 제공됩니다. 자세한 내용은 Azure Functions 지원되는 언어 및 런타임을 참조하세요.

다음 버전은 Static Web Apps에서 관리되는 함수에 대해 지원됩니다. 애플리케이션에 목록에 없는 버전이 필요한 경우 앱에 자체 함수를 가져오는 것이 좋습니다.

API 언어 런타임 버전을 구성하려면 platform 섹션의 apiRuntime 속성을 지원되는 다음 값 중 하나로 설정합니다.

언어 런타임 버전 운영 체제 Azure Functions 버전 apiRuntime 지원 종료 날짜
.NET Core 3.1 Windows 3.x dotnet:3.1 2022년 12월 3일 토요일
.NET 6.0 In Process Windows 4.x dotnet:6.0 -
.NET 6.0 격리 Windows 4.x dotnet-isolated:6.0 -
.NET 7.0 격리 Windows 4.x dotnet-isolated:7.0 -
.NET 8.0이 격리됨 Windows 4.x dotnet-isolated:8.0 -
Node.js 12.x Linux 3.x node:12 2022년 12월 3일 토요일
Node.js 14.x Linux 4.x node:14 -
Node.js 16.x Linux 4.x node:16 -
Node.js 18.x Linux 4.x node:18 -
Node.js 20.x(미리 보기) Linux 4.x node:20 -
Python 3.8 Linux 4.x python:3.8 -
Python 3.9 Linux 4.x python:3.9 -
Python 3.10 Linux 4.x python:3.10 -

.NET

.NET 앱에서 런타임 버전을 변경하려면 csproj 파일의 TargetFramework 값을 변경합니다. 선택적이지만 staticwebapp.config.json 파일에서 apiRuntime 값을 설정하는 경우 값이 csproj 파일에서 정의한 값과 일치하는지 확인합니다.

다음 예제에서는 csproj 파일에서 NET 8.0에 대한 TargetFramework 요소를 API 언어 런타임 버전으로 업데이트하는 방법을 보여 줍니다.

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

Node.JS

다음 예제 구성은 apiRuntime 속성을 사용하여 staticwebapp.config.json 파일에서 Node.js 16을 API 언어 런타임 버전으로 선택하는 방법을 보여 줍니다.

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

Python

다음 예제 구성은 apiRuntime 속성을 사용하여 staticwebapp.config.json 파일에서 Python 3.8을 API 언어 런타임 버전으로 선택하는 방법을 보여 줍니다.

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

v4.x에서 프록시 다시 사용

Azure Functions는 v4.x에서 프록시 다시 사용을 지원합니다. 정적 웹앱에 대해 관리되는 함수에서 프록시 지원을 사용하도록 설정하려면 애플리케이션 설정에서 SWA_ENABLE_PROXIES_MANAGED_FUNCTIONStrue로 설정합니다.

[!참고] 프록시는 v4.x에서 지원되지만 앱이 프록시에 의존하지 않도록 관리되는 함수 앱과 Azure API Management 통합을 사용하는 것이 좋습니다.

사용 중단

참고 항목

이제 Azure Functions v3이 사용 중지되었으므로 Static Web Apps는 Python 3.8에 대한 API 런타임 지원에 Azure Functions v4를 사용합니다. 이 변경을 사용하도록 앱을 다시 배포합니다. 권장되지는 않지만 환경 변수 USEV3_FOR_PYTHON38true로 설정하여 v3으로 다시 되돌릴 수 있습니다.

다음 런타임은 Azure Static Web Apps에서 더 이상 사용되지 않습니다. 런타임 변경에 대한 자세한 내용은 Azure Static Web Apps에서 API 언어 런타임 버전 지정Azure Functions 버전 3.x에서 버전 4.x로 앱 마이그레이션을 참조하세요.

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