Compartilhar via


Linguagens e runtimes com suporte no Aplicativos Web Estáticos do Azure

Os Aplicativos Web Estáticos do Azure apresentam dois locais diferentes em que o runtime e as versões de linguagem são importantes, no front-end e para a API.

Tipo de runtime Descrição
Front-end A versão responsável por executar as etapas de build do site que criam o aplicativo de front-end.
API A versão e o runtime do Azure Functions usados no aplicativo Web.

Front-end

Você pode especificar a versão usada para criar o front-end do aplicativo Web estático. A configuração de uma versão não padrão só é necessária quando você precisa fazer o direcionamento a versões mais antigas.

Você pode especificar a versão do runtime que cria o front-end do aplicativo Web estático no arquivo package.json na seção engines do arquivo.

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

API

O suporte subjacente para as APIs nos Aplicativos Web Estáticos do Azure é fornecido pelo Azure Functions. Confira as Linguagem e os runtimes com suporte do Azure Functions para obter detalhes.

As versões a seguir são compatíveis com as funções gerenciadas nos Aplicativos Web Estáticos. Se seu aplicativo exigir uma versão não listada, considere adicionar suas próprias funções ao seu aplicativo.

Para configurar a versão de runtime da linguagem de API, defina a propriedade apiRuntime na seção platform como um dos valores com suporte a seguir.

Versão de runtime da linguagem Sistema operacional Versão do Azure Functions apiRuntime valor Data de fim do suporte
.NET Core 3.1 Windows 3.x dotnet:3.1 3 de dezembro de 2022
.NET 6.0 em processo Windows 4.x dotnet:6.0 -
.NET 6.0 isolado Windows 4.x dotnet-isolated:6.0 -
.NET 7.0 isolado Windows 4.x dotnet-isolated:7.0 -
.NET 8.0 isolado Windows 4.x dotnet-isolated:8.0 -
Node.js 12.x Linux 3.x node:12 3 de dezembro de 2022
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 (versão prévia) 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

Para alterar a versão do runtime em um aplicativo .NET, altere o valor de TargetFramework no arquivo csproj. Embora isso seja opcional, se você definir um valor de apiRuntime no arquivo staticwebapp.config.json, verifique se o valor corresponde ao que definido no arquivo csproj.

O exemplo a seguir demonstra como atualizar o elemento TargetFramework para o NET 8.0 como a versão de runtime da linguagem da API no arquivo csproj.

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

Node.js

A configuração de exemplo a seguir demonstra como usar a propriedade apiRuntime para selecionar o Node.js 16 como a versão de runtime da linguagem da API no arquivo staticwebapp.config.json.

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

Python

A configuração de exemplo a seguir demonstra como usar a propriedade apiRuntime para selecionar o Python 3.8 como a versão de runtime da linguagem da API no arquivo staticwebapp.config.json.

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

Reabilitar os proxies no v4.x

O Azure Functions dá suporte aos proxies de reabilitação no v4.x. Para habilitar o suporte de proxy nas funções gerenciadas no seu aplicativo Web estático, defina SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS para true nas configurações do seu aplicativo.

[!OBSERVAÇÃO] Embora os proxies sejam compatíveis com o v4.x, considere usar a integração do Gerenciamento de API do Azure com seus aplicativos de funções gerenciadas, portanto, seu aplicativo não depende dos proxies.

Substituições

Observação

Agora que o Azure Functions v3 foi desativado, os Aplicativos Web Estáticos usam o Azure Functions v4 para suporte de runtime da API para Python 3.8. Reimplante seu aplicativo para habilitar essa alteração. Embora não seja recomendado, você pode reverter para o v3 definindo a variável de ambiente USEV3_FOR_PYTHON38 como true.

Os runtimes a seguir foram preteridos nos Aplicativos Web Estáticos do Azure. Para obter mais informações de como alterar o runtime, confira Especificar a versão de runtime de linguagem de API nos Aplicativos Web Estáticos do Azure e Migrar aplicativos da versão 3.x para a versão 4.x do Azure Functions.

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