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