Comment cibler des versions du runtime Azure FunctionsHow to target Azure Functions runtime versions

Une application de fonction s’exécute sur une version spécifique du runtime Azure Functions.A function app runs on a specific version of the Azure Functions runtime. Deux versions majeures sont disponibles : 1.x et 2.x, avec la version 3.x en préversion.There are two major versions: 1.x and 2.x, with version 3.x in preview. Par défaut, les applications de fonction sont créées avec version 2.x du runtime.By default, function apps that are created version 2.x of the runtime. Cet article explique comment configurer une application de fonction dans Azure pour qu’elle s’exécute sur la version de votre choix.This article explains how to configure a function app in Azure to run on the version you choose. Pour plus d’informations sur la façon de configurer un environnement de développement local pour une version spécifique, consultez Coder et tester Azure Functions localement.For information about how to configure a local development environment for a specific version, see Code and test Azure Functions locally.

Mises à jour de versions automatiques et manuellesAutomatic and manual version updates

Azure Functions vous permet de cibler une version spécifique du runtime en utilisant le paramètre d’application FUNCTIONS_EXTENSION_VERSION dans une Function App.Azure Functions lets you target a specific version of the runtime by using the FUNCTIONS_EXTENSION_VERSION application setting in a function app. L’application de fonction est conservée sur la version majeure spécifiée jusqu’à ce que vous décidiez de passer à une nouvelle version.The function app is kept on the specified major version until you explicitly choose to move to a new version.

Si vous spécifiez uniquement la version majeure, l’application de fonction est automatiquement mise à jour vers les nouvelles versions mineures du runtime quand elles deviennent disponibles.If you specify only the major version, the function app is automatically updated to new minor versions of the runtime when they become available. Les nouvelles versions mineures n’introduisent pas de changements importants.New minor versions do not introduce breaking changes. Si vous spécifiez une version mineure (par exemple, « 2.0.12345 »), l’application de fonction est maintenue sur cette version jusqu’à ce que vous la changiez explicitement.If you specify a minor version (for example, "2.0.12345"), the function app is pinned to that specific version until you explicitly change it.

Notes

Si vous l’épinglez à une version spécifique d’Azure Functions, puis tentez de publier sur Azure à l’aide de Visual Studio, une fenêtre de dialogue s’affiche vous invitant à mettre à jour vers la dernière version ou à annuler la publication.If you pin to a specific version of Azure Functions, and then try to publish to Azure using Visual Studio, a dialog window will pop up prompting you to update to the latest version or cancel the publish. Pour éviter ce problème, ajoutez la propriété <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> dans votre fichier .csproj.To avoid this, add the <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> property in your .csproj file.

Quand une nouvelle version est disponible publiquement, une invite dans le portail vous donne la possibilité de basculer vers cette version.When a new version is publicly available, a prompt in the portal gives you the chance to move up to that version. Après le passage à une nouvelle version, vous avez toujours la possibilité d’utiliser le paramètre d’application FUNCTIONS_EXTENSION_VERSION pour revenir à une version précédente.After moving to a new version, you can always use the FUNCTIONS_EXTENSION_VERSION application setting to move back to a previous version.

Le tableau suivant précise les valeurs de FUNCTIONS_EXTENSION_VERSION pour chaque version principale, afin d’activer les mises à jour automatiques :The following table shows the FUNCTIONS_EXTENSION_VERSION values for each major version to enable automatic updates:

Version principaleMajor version Valeur FUNCTIONS_EXTENSION_VERSIONFUNCTIONS_EXTENSION_VERSION value
3.x3.x ~3
2.x2.x ~2
1.x1.x ~1

Un changement de version du runtime provoque un redémarrage de l’application de fonction.A change to the runtime version causes a function app to restart.

Afficher et mettre à jour la version actuelle du runtimeView and update the current runtime version

Vous pouvez modifier la version du runtime utilisée par votre application de fonction.You can change the runtime version used by your function app. Compte tenu du risque de changements cassants, vous pouvez le faire avant d’avoir créé des fonctions dans votre application de fonction.Because of the potential of breaking changes, you can only change the runtime version before you have created any functions in your function app.

Important

Même si la version du runtime est déterminée par le paramètre FUNCTIONS_EXTENSION_VERSION, effectuez cette modification sur le Portail Azure et non en changeant directement le paramètre.Although the runtime version is determined by the FUNCTIONS_EXTENSION_VERSION setting, you should make this change in the Azure portal and not by changing the setting directly. En effet, le portail valide les modifications et en effectue d’autres si nécessaire.This is because the portal validates your changes and makes other related changes as needed.

À partir du portail AzureFrom the Azure portal

Appliquez la procédure suivante pour afficher et mettre à jour la version du runtime utilisée actuellement par une application de fonction.Use the following procedure to view and update the runtime version currently used by a function app.

  1. Dans le portail Azure, accédez à une application de fonction.In the Azure portal, browse to your function app.

  2. Sous Fonctionnalités configurées, choisissez Paramètres de l’application de fonction.Under Configured Features, choose Function app settings.

    Sélectionnez Paramètres de l’application de fonction

  3. Dans l’onglet Paramètres de l’application de fonction, trouvez la Version du runtime.In the Function app settings tab, locate the Runtime version. Prenez note de la version spécifique du runtime ainsi que de la version majeure souhaitée.Note the specific runtime version and the requested major version. Dans l’exemple ci-dessous, la version est définie sur ~2.In the example below, the version is set to ~2.

    Sélectionnez Paramètres de l’application de fonction

  4. Pour conserver votre application de fonction sur la version 1.x du runtime, choisissez  ~1 sous Version du runtime.To pin your function app to the version 1.x runtime, choose ~1 under Runtime version. Ce commutateur est désactivé lorsque votre application comporte des fonctions.This switch is disabled when you have functions in your app.

  5. Quand vous modifiez la version du runtime, revenez à l’onglet Vue d’ensemble et choisissez l’option Redémarrer pour redémarrer l’application.When you change the runtime version, go back to the Overview tab and choose Restart to restart the app. L’application de fonction redémarre avec la version 1.x du runtime, et les modèles de la version 1.x sont utilisés lorsque vous créez des fonctions.The function app restarts running on the version 1.x runtime, and the version 1.x templates are used when you create functions.

Notes

À l’aide du portail Azure, vous ne pouvez pas modifier la version du runtime pour une application de fonction qui contient déjà des fonctions.Using the Azure portal, you can't change the runtime version for a function app that already contains functions.

Dans Azure CLIFrom the Azure CLI

Vous pouvez aussi afficher et définir l’élément FUNCTIONS_EXTENSION_VERSION à partir de l’interface de ligne de commande Azure.You can also view and set the FUNCTIONS_EXTENSION_VERSION from the Azure CLI.

Notes

Étant donné que la version du runtime peut influer sur les autres paramètres, vous devez modifier la version dans le portail.Because other settings may be impacted by the runtime version, you should change the version in the portal. Le portail crée automatiquement les mises à jour nécessaires (par exemple, pile runtime et version de Node.js) lorsque vous modifiez des versions du runtime.The portal automatically makes the other needed updates, such as Node.js version and runtime stack, when you change runtime versions.

À l’aide de l’interface de ligne de commande Azure, affichez la version actuelle du runtime avec la commande az functionapp config appsettings set.Using the Azure CLI, view the current runtime version with the az functionapp config appsettings set command.

az functionapp config appsettings list --name <function_app> \
--resource-group <my_resource_group>

Dans ce code, remplacez <function_app> par le nom de votre application de fonction.In this code, replace <function_app> with the name of your function app. Remplacez également <my_resource_group> par le nom du groupe de ressources de votre application de fonction.Also replace <my_resource_group> with the name of the resource group for your function app.

Observez FUNCTIONS_EXTENSION_VERSION dans la sortie suivante, tronquée pour une meilleure lisibilité :You see the FUNCTIONS_EXTENSION_VERSION in the following output, which has been truncated for clarity:

[
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "slotSetting": false,
    "value": "~2"
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "slotSetting": false,
    "value": "dotnet"
  },
  
  ...
  
  {
    "name": "WEBSITE_NODE_DEFAULT_VERSION",
    "slotSetting": false,
    "value": "8.11.1"
  }
]

Vous pouvez mettre à jour le paramètre FUNCTIONS_EXTENSION_VERSION dans l’application de fonction à l’aide de la commande az functionapp config appsettings set.You can update the FUNCTIONS_EXTENSION_VERSION setting in the function app with the az functionapp config appsettings set command.

az functionapp config appsettings set --name <function_app> \
--resource-group <my_resource_group> \
--settings FUNCTIONS_EXTENSION_VERSION=<version>

Remplacez <function_app> par le nom de votre application de fonction.Replace <function_app> with the name of your function app. Remplacez également <my_resource_group> par le nom du groupe de ressources de votre application de fonction.Also replace <my_resource_group> with the name of the resource group for your function app. Par ailleurs, remplacez <version> par une version valide du runtime 1.x ou ~2 pour la version 2.x.Also, replace <version> with a valid version of the 1.x runtime or ~2 for version 2.x.

Vous pouvez exécuter cette commande à partir de Azure Cloud Shell en choisissant Essayer dans l’exemple de code qui précède.You can run this command from the Azure Cloud Shell by choosing Try it in the preceding code sample. Vous pouvez également utiliser Azure CLI en local pour exécuter cette commande après avoir lancé la commande az login pour vous connecter.You can also use the Azure CLI locally to execute this command after executing az login to sign in.

Étapes suivantesNext steps