Exécuter et tester localement une fonction Azure

Effectué

Dans l’exercice précédent, vous avez créé un projet de fonction Azure à l’aide d’un archétype Maven Azure. La tâche suivante consiste à créer votre fonction, puis à l’exécuter localement pour vérifier qu’elle fonctionne.

Dans cette unité, vous découvrez Azure Functions Core Tools, qui vous aide à exécuter et à tester vos fonctions localement. Vous découvrez aussi comment ouvrir un port HTTP à des fins de test, exécuter votre fonction dans Cloud Shell et la tester dans un navigateur web.

À propos d’Azure Functions Core Tools

Azure Functions Core Tools est une suite d’utilitaires permettant de créer et de tester localement Azure Functions à l’aide d’un émulateur de terminal ou d’une invite de commande. Même si les fonctions Azure que vous créez s’exécutent localement, elles peut accéder aux services Azure en direct pendant votre test. Quand vous avez terminé vos tests et que votre fonction est prête à être publiée, vous pouvez déployer votre application de fonction sur votre abonnement Azure.

À ce stade, il existe trois versions d’Azure Functions Core Tools. Mais en règle générale, à moins d’avoir une raison particulière d’utiliser une version plus ancienne, vous devez toujours utiliser la version la plus récente quand vous développez des fonctions pour le déploiement sur Azure. Pour ce module, vous utilisez Azure Cloud Shell dans le bac à sable Learn, qui a la dernière version d’Azure Functions Core Tools.

Remarque

Si vous avez utilisé votre compte Azure personnel au lieu de Cloud Shell dans le bac à sable Learn, consultez Travailler avec Azure Functions Core Tools pour obtenir voir les descriptions, les exigences et les instructions d’installation des différentes versions d’Azure Functions Core Tools.

Configuration de l’environnement de Cloud Shell pour le test

Quand vous testez une application web qui s’exécute dans Cloud Shell, vous avez deux façons différentes de tester l’application :

  1. Vous pouvez utiliser Cloud Shell pour ouvrir un port externe à des fins de test, qui route les requêtes HTTP vers le port localhost de votre instance Cloud Shell :

    • Pour ouvrir le port 7071 depuis Cloud Shell, utilisez la commande cURL suivante :

      curl -X POST http://localhost:8888/openPort/7071
      
    • Une fois vos tests terminés, utilisez la commande cURL suivante pour fermer le port :

      curl -X POST http://localhost:8888/closePort/7071
      
  2. Vous pouvez ouvrir plusieurs instances de Cloud Shell pour tester l’application localement :

    • Vous devez exécuter l’application dans la première instance.

    • Vous pouvez utiliser la cURL pour tester l’application à partir de la seconde instance.

Dans l’exercice suivant, vous utilisez la première méthode pour ouvrir un port.

Exécution de votre fonction dans Cloud Shell

Une fois que vous avez ouvert un port à des fins de test, votre tâche suivante consiste à créer et à exécuter votre fonction. Pour cela, utilisez les étapes suivantes :

  1. Dans Cloud Shell, accédez au dossier racine de votre projet.

  2. Pour créer votre application, vous devez utiliser la commande Maven suivante :

    mvn clean package
    
  3. Pour exécuter l’application, utilisez la commande Maven suivante :

    mvn azure-functions:run
    

    Pendant que Maven prépare l’environnement d’exécution de votre fonction, le logo Azure Functions Core Tools s’affiche :

    Image showing the Azure Function Core tools logo.

  4. Une fois que vous avez terminé vos tests, utilisez la commande Ctrl+C depuis Azure Cloud Shell pour arrêter le serveur.

Test de votre fonction à l’aide de requêtes HTTP

Dans ce module, vous utilisez une seule instance de Cloud Shell. Par conséquent, vous devez tester votre application en ouvrant un nouvel onglet dans votre navigateur web. Dans la barre d’adresse du navigateur, entrez une URL semblable à l’exemple suivant :

https://gateway.westus.console.azure.com/n/cc-12345678/cc-12345678/proxy/7071/api/HttpExample?name=Bob

Cependant, si vous utilisez plusieurs instances de Cloud Shell, vous pouvez utiliser la commande cURL suivante pour tester votre application depuis une instance distincte du shell :

curl http://localhost:7071/api/HttpExample?name=Bob

Dans l’exercice suivant, vous utilisez ce que vous avez appris dans cette unité. Vous ouvrez un port de test, vous exécutez votre fonction dans Cloud Shell et vous déterminez l’URL que vous devez utiliser pour tester votre fonction depuis un navigateur web.