Loupe

Azure Functions CLI : utilisation d’une version spécifique en Debug depuis VS 2017

Vous pouvez être amené à vouloir exécuter en local vos Azure Functions avec une version spécifique de l’Azure Functions CLI, soit pour utiliser une des versions actuellement en développement (releases disponibles sur GitHub à l’adresse suivante : https://github.com/Azure/azure-functions-core-tools/releases), soit si vous êtes dans mon cas avec un chemin de répertoire utilisateur contenant un accent !

En effet, j’ai rencontré l’erreur suivante en créant une fonction en v1 et en l’exécutant en debug local (je n’ai pas rencontré le souci en v2):Cannot find module edge double_edge.js

Impossible de trouver le module Edge, le chemin vers le fichier double_edge.js n’étant pas reconnu à cause d’un problème d’encoding. Il semblerait que le problème soit connu mais étant donné que cela provient d'une dépendance de la CLI et non de son propre code, il y a peu de chance que ça évolue rapidement.

Donc quelle que soit la raison, vous pouvez télécharger la version de votre choix, la dézipper et l’utiliser pour lancer votre function en debug via la ligne de commande suivante (cf. https://docs.microsoft.com/fr-fr/azure/azure-functions/functions-run-local#run-functions-locally) dans le répertoire contenant votre DLL:

func host start

Afin de pouvoir l’exécuter directement depuis F5, vous devrez configurer le debug ainsi :

  • Dans « Launch » sélectionner « Executable » au lieu de « Project »
  • Mettre « host start » comme arguments
  • Et spécifier le répertoire de sortie contenant la DLL comme répertoire de travailAzure Functions Debug Launch Configuration

Désormais, l'exécution se passe sans plus aucun soucis (et je n'ai même pas eu à contacter l'état civil pour changer de prénom :D) : 

Azure Functions Debug Working

Si vous voulez en savoir plus sur les Azure Functions, je vous invite à consulter les articles de Thibaut, notamment son introduction aux Azure Functions.

Photo de profil

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus