Créer votre première fonction avec Java et Eclipse

Cet article vous explique comment créer un projet de fonction serverless avec l’environnement de développement intégré (IDE) Eclipse et Apache Maven, comment le tester et le déboguer, puis comment le déployer sur Azure Functions.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Configurer l''environnement de développement

Pour développer une application de fonction avec Java et Eclipse, vous devez avoir installé les éléments suivants :

Important

Pour pouvoir effectuer ce démarrage rapide, vous devez définir la variable d’environnement JAVA_HOME sur l’emplacement d’installation du JDK.

Il est vivement recommandé d’installer également Azure Functions Core Tools, version 2, qui offre un environnement local pour l’exécution et le débogage d’Azure Functions.

Créer un projet Functions

  1. Dans Eclipse, sélectionnez le menu Fichier, puis Nouveau -> Projet Maven.
  2. Acceptez les valeurs par défaut de la boîte de dialogue Nouveau projet Maven, puis sélectionnez Suivant.
  3. Recherchez et sélectionnez azure-functions-archetype et cliquez sur Suivant.
  4. Veillez à renseigner les valeurs de tous les champs, y compris resourceGroup, appNameet appRegion (utilisez un appName différent de Fabrikam-Function-20170920120101928), puis Terminer. Eclipse Maven create2

Maven crée les fichiers projet dans un nouveau dossier avec le nom de artifactId. Le code généré dans le projet est une fonction simple déclenchée par HTTP qui retourne le corps de la demande HTTP à l’origine du déclenchement.

Exécuter des fonctions localement dans l’IDE

Notes

Azure Functions Core Tools, version 2 doit être installé pour pouvoir exécuter et déboguer des fonctions localement.

  1. Cliquez avec le bouton droit sur le projet généré, puis choisissez Exécuter en tant que et Build Maven.
  2. Dans la boîte de dialogue Edit Configuration (Modifier la configuration), entrez package dans les champs Goals (Objectifs) et sélectionnez Exécuter. Cette opération entraîne la génération et l’empaquetage du code de fonction.
  3. Une fois la génération terminée, créez une autre configuration Exécuter comme ci-dessus, en utilisant azure-functions:run en tant qu’objectif et que nom. Sélectionnez Exécuter pour exécuter la fonction dans l’IDE.

Lorsque vous avez fini de tester votre fonction, terminez le runtime dans la fenêtre de console. Un seul hôte de fonction à la fois peut être actif et en cours d’exécution localement.

Déboguer la fonction dans Eclipse

Dans votre configuration Exécuter en tant que définie à l’étape précédente, remplacez azure-functions:run par azure-functions:run -DenableDebug, puis exécutez la configuration mise à jour pour démarrer l’application de fonction en mode débogage.

Sélectionnez le menu Exécuter, puis ouvrez Déboguer les configurations. Choisissez Application Java distante et créez une configuration. Donnez un nom à votre configuration et renseignez les paramètres. Le port doit être cohérent avec le port de débogage ouvert par l’hôte de fonction, qui correspond par défaut à 5005. Après la configuration, cliquez sur Debug pour démarrer le débogage.

Debug functions in Eclipse

Définissez des points d’arrêt et inspectez les objets de votre fonction à l’aide de l’IDE. Quand vous avez terminé, arrêtez le débogueur et l’hôte de fonction en cours d’exécution. Un seul hôte de fonction à la fois peut être actif et en cours d’exécution localement.

Déployer la fonction sur Azure

Le processus de déploiement sur Azure Functions utilise les informations d’identification du compte provenant d’Azure CLI. Connectez-vous avec Azure CLI avant de continuer en utilisant l’invite de commandes de votre ordinateur.

az login

Déployez votre code dans une nouvelle application de fonction en utilisant l’objectif Maven azure-functions:deploy dans une nouvelle configuration Exécuter en tant que.

Quand le déploiement est terminé, vous voyez l’URL que vous pouvez utiliser pour accéder à votre application de fonction Azure :

[INFO] Successfully deployed Function App with package.
[INFO] Deleting deployment package from Azure Storage...
[INFO] Successfully deleted deployment package fabrikam-function-20170920120101928.20170920143621915.zip
[INFO] Successfully deployed Function App at https://fabrikam-function-20170920120101928.azurewebsites.net
[INFO] ------------------------------------------------------------------------

Étapes suivantes

  • Pour plus d’informations sur le développement de fonctions Java, consultez le Guide du développeur de fonctions Java.
  • Ajoutez des fonctions supplémentaires avec différents déclencheurs à votre projet en utilisant la cible Maven azure-functions:add.