
Azure Functions V3 et CLI
Le 9 décembre 2022, Microsoft a annoncé la version Go-Live d’Azure Functions 3.0 utilisable en production.
Voyons un peu comment profiter de cette nouvelle version, créer des functions avec cette version ou de migrer de la v2 vers la v3.
Installer les outils
Pour la suite de cet article je vous proposerais les commandes utilisant la cli functions, mais également la cli dotnet et la cli azure que vous pourrez installer séparément si vous le souhaitez.
azure-functions-core-tools
Pour la cli functions, la version officielle est encore la version 2 et créera donc nativement des functions ciblant la v2. Pour installer la cli azure functions v3, il faudra utiliser la commande suivante :
npm install azure-functions-core-tools@3 -g
Remarquez le @3
à la fin de la commande forçant l’installation de la version 3 des outils qui vous permettront de créer des projets ciblant la V3 d’Azure Functions nativement.
Si jamais vous ne pouviez/vouliez pas installer cette version et deviez rester sur la version core
alors vous pouvez mettre à jour votre projet manuellement.
vscode-azurefunctions
Si vous utilisze VS Code, sachez qu’il existe une extension permettant de manipuler et créer des functions directement depuis l’interface de VS Code. Cette extension permet également de créer des pour les projets functions ayant été créés en dehors de VS Code. Pour l’installer, et pour rester dans le thème de la cli (vs code cette fois-ci) je vous propose la commande suivante :
vs code cli :
code --install-extension ms-azuretools.vscode-azurefunctions
Créer un projet Azure Functions
dotnet cli :
dotnet new "Azure Functions"
azure functions cli :
func init --worker-runtime dotnet
Créer une function
Pour l’exemple nous allons créer une function HttpTrigger.
dotnet cli :
dotnet new HttpTrigger --name SayHello
azure functions cli :
func new --language C# --template "HttpTrigger" --name SayHello
Run votre function
azure functions cli :
func start --build
Migrer des functions de V2 à V3
Projet
Pour exploiter la version 3 d’Azure Functions vous souhaitez peut-être migrer vos functions existantes sans avoir à recréer un projet from scratch.
Pour cela, il vous suffit d’indiquer que vous souhaitez utiliser la version 3.0.1
du Sdk en modifiant le fichier .csproj
ou en jouant la commande suivante :
dotnet cli :
dotnet add package Microsoft.NET.Sdk.Functions --version 3.0.1
Cela modifiera le fichier .csproj de la manière suivante :
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.1" />
Il faudra également modifier le fichier .csproj
pour lui indiquer que le TargetFramework
est netcoreapp3.0
:
<TargetFramework>netcoreapp3.0</TargetFramework>
Migration Azure
Pour bénéficier de la V3 il vous faudra également mettre à jour la plate-forme sur Azure.
Pour cela 2 options, le portail (beurk!) ou la CLI (owi! owi!).
Dans tous les cas il s’agit de metre à jour le setting FUNCTIONS_EXTENSION_VERSION
en lui assignant la valeur ~3
.
azure cli :
az functionapp config appsettings set --name $functionAppName -g $resourceGroupName --settings FUNCTIONS_EXTENSION_VERSION=~3
Vous pourrez alors vérifier que votre migration s’est bien déroulée en effectuant un run de votre function.