Idiomas e tempos de execução suportados nos Aplicativos Web Estáticos do Azure
Os Aplicativos Web Estáticos do Azure apresentam dois locais diferentes onde as versões de tempo de execução e idioma são importantes, no front-end e para a API.
Tipo de runtime | Description |
---|---|
Front-end | A versão responsável por executar as etapas de compilação do site que criam o aplicativo front-end. |
API | A versão e o tempo de execução do Azure Functions usados em seu aplicativo Web. |
Front-end
Você pode especificar a versão usada para criar o front-end do seu aplicativo Web estático. A configuração de uma versão não padrão geralmente só é necessária se você precisar direcionar versões mais antigas.
Você pode especificar a versão de tempo de execução que cria o front-end do seu aplicativo Web estático no arquivo package.json na engines
seção do arquivo.
{
...
"engines": {
"node": ">=14.0.0"
}
}
API
O suporte subjacente para APIs nos Aplicativos Web Estáticos do Azure é fornecido pelo Azure Functions. Consulte os idiomas e tempos de execução suportados do Azure Functions para obter detalhes.
As versões a seguir são suportadas para funções gerenciadas em aplicativos Web estáticos. Se o seu aplicativo exigir uma versão não listada, considere trazer suas próprias funções para seu aplicativo.
Para configurar a versão do tempo de execução da linguagem da API, defina a apiRuntime
platform
propriedade na seção como um dos seguintes valores suportados.
Versão do tempo de execução da linguagem | Sistema operativo | 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 (pré-visualização) | 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 de tempo de execução em um aplicativo .NET, altere o TargetFramework
valor no arquivo csproj . Embora seja opcional, se você definir um apiRuntime
valor no arquivo staticwebapp.config.json , verifique se o valor corresponde ao que você define no arquivo csproj .
O exemplo a seguir demonstra como atualizar o TargetFramework
elemento para NET 8.0 como a versão de tempo de execução de linguagem de API no arquivo csproj .
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
...
</PropertyGroup>
...
Node.js
O exemplo de configuração a seguir demonstra como usar a propriedade para selecionar Node.js apiRuntime
16 como a versão de tempo de execução da linguagem da API no arquivo staticwebapp.config.json .
{
...
"platform": {
"apiRuntime": "node:16"
}
...
}
Python
O exemplo de configuração a seguir demonstra como usar a apiRuntime
propriedade para selecionar Python 3.8 como a versão de tempo de execução da linguagem API no arquivo staticwebapp.config.json .
{
...
"platform": {
"apiRuntime": "python:3.8"
}
...
}
Reativando proxies na v4.x
O Azure Functions dá suporte à reativação de proxies na v4.x. Para habilitar o suporte a proxy em funções gerenciadas para seu aplicativo Web estático, defina SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS
como true
nas configurações do aplicativo.
[! NOTA] Embora haja suporte para proxies na v4.x, considere usar a integração do Gerenciamento de API do Azure com seus aplicativos de função gerenciada, para que seu aplicativo não dependa de proxies.
Preterições
Nota
Agora que o Azure Functions v3 foi desativado, os Aplicativos Web Estáticos usam o Azure Functions v4 para suporte de tempo de execução de API para Python 3.8. Reimplante seu aplicativo para habilitar essa alteração. Embora não seja recomendado, você pode reverter para v3 definindo a variável USEV3_FOR_PYTHON38
de ambiente como true
.
Os seguintes tempos de execução foram preteridos nos Aplicativos Web Estáticos do Azure. Para obter mais informações sobre como alterar seu tempo de execução, consulte Especificar a versão do tempo de execução da linguagem da API nos Aplicativos Web Estáticos do Azure e Migrar aplicativos do Azure Functions versão 3.x para a versão 4.x.
- .NET Core 3.1
- Node.js 12.x