Langages et runtimes pris en charge dans Azure Static Web Apps
Dans Azure Static Web Apps, les versions de runtime et de langage sont importantes au niveau du front-end et de l’API.
Type de runtime | Description |
---|---|
Front-end | Version responsable de l’exécution des étapes de build du site web qui créent l’application de front-end. |
API | Version et runtime d’Azure Functions utilisés dans votre application web. |
Frontend
Vous pouvez spécifier la version utilisée pour créer le front-end de votre application web statique. La configuration d’une version autre que celle par défaut est souvent nécessaire seulement si vous devez cibler des versions antérieures.
Vous pouvez spécifier la version de runtime qui crée le front-end de votre application web statique dans le fichier package.json, dans la section engines
.
{
...
"engines": {
"node": ">=14.0.0"
}
}
API
La prise en charge sous-jacente des API dans Azure Static Web Apps est fournie par Azure Functions. Pour plus d’informations, consultez les langages et runtimes pris en charge par Azure Functions.
Les versions suivantes sont prises en charge pour les fonctions managées dans Static Web Apps. Si votre application nécessite une version non répertoriée, apportez vos propres fonctions à votre application.
Pour configurer la version du runtime de langage d’API, définissez la propriété apiRuntime
de la section platform
sur l’une des valeurs prises en charge suivantes.
Version du runtime de langage | Système d’exploitation | Version d’Azure Functions | Valeur apiRuntime |
Date de fin de prise en charge |
---|---|---|---|---|
.NET Core 3.1 | Windows | 3.x | dotnet:3.1 |
3 décembre 2022 |
.NET 6.0 in-process | Windows | 4.x | dotnet:6.0 |
- |
.NET 6.0 isolé | Windows | 4.x | dotnet-isolated:6.0 |
- |
.NET 7.0 isolé | Windows | 4.x | dotnet-isolated:7.0 |
- |
.NET 8.0 isolé | Windows | 4.x | dotnet-isolated:8.0 |
- |
Node.js 12.x | Linux | 3.x | node:12 |
3 décembre 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éversion) | 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
Pour changer la version du runtime dans une application .NET, changez la valeur TargetFramework
dans le fichier csproj. Bien que facultative, si vous définissez une valeur apiRuntime
dans le fichier staticwebapp.config.json, vérifiez que la valeur correspond à ce que vous définissez dans le fichier csproj.
L’exemple suivant montre comment mettre à jour l’élément TargetFramework
pour NET 8.0 comme version du runtime de langage d’API dans le fichier csproj.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
...
</PropertyGroup>
...
Node.js
L’exemple de configuration suivant montre comment utiliser la propriété apiRuntime
pour sélectionner Node.js 16 comme version du runtime de langage d’API dans le fichier staticwebapp.config.json.
{
...
"platform": {
"apiRuntime": "node:16"
}
...
}
Python
L’exemple de configuration suivant montre comment utiliser la propriété apiRuntime
pour sélectionner Python 3.8 comme version du runtime de langage d’API dans le fichier staticwebapp.config.json.
{
...
"platform": {
"apiRuntime": "python:3.8"
}
...
}
Réactivez les proxys dans v4.x
Azure Functions prend en charge réactiver les proxys dans les v4.x. Pour activer la prise en charge du proxy dans les fonctions gérées pour votre application web statique, définissez SWA_ENABLE_PROXIES_MANAGED_FUNCTIONS
sur true
dans les paramètres de votre application.
[!REMARQUE] Bien que les proxies soient pris en charge dans la version 4.x, envisagez d’utiliser l’intégration Azure API Management avec vos applications de fonctions gérées, afin que votre application ne dépende pas des proxies.
Obsolescences
Remarque
Maintenant qu’Azure Functions v3 est mis hors service, Static Web Apps utilise Azure Functions v4 pour la prise en charge du runtime d’API pour Python 3.8. Redéployez votre application pour activer cette modification. Bien que ce ne soit pas recommandé, vous pouvez revenir à la v3 en définissant la variable d’environnement USEV3_FOR_PYTHON38
sur true
.
Les runtimes suivants sont dépréciés dans Azure Static Web Apps. Pour plus d’informations sur le changement de votre runtime, consultez Spécifier la version du runtime de langage d’API dans Azure Static Web Apps et Migrer les applications de la version 3.x d’Azure Functions vers la version 4.x.
- .NET Core 3.1
- Node.js 12.x