Partager via


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