Créer une fonction Azure avec l’archétype Maven

Effectué

Les archétypes Maven fournissent aux développeurs les blocs de construction de base pour créer des projets. Plusieurs archétypes différents sont disponibles, chacun offrant des fonctionnalités spécifiques que les développeurs peuvent utiliser lors du développement de leur application. C’est dans cet esprit que Microsoft a mis en production l’archétype azure-functions-archetype permettant la prise à charge de l’utilisation d’Azure Functions.

Dans cette unité, vous apprenez ce dont vous avez besoin pour commencer à utiliser des archétypes Maven. Vous découvrez comment utiliser azure-functions-archetype avec Maven et vous explorez la création d’un exemple de fonction.

Prise en main d’archétypes Maven et d’Azure Functions

Utilisation de Maven pour automatiser la création d’applications web Java

Maven est l’outil de génération Java le plus utilisé pour générer et gérer un projet basé sur Java. Il permet de simplifier les processus pour la façon dont les développeurs génèrent des projets Java en fournissant un moyen standard de générer les projets. Cette norme inclut une définition claire de ce en quoi consiste le projet, un moyen simple de publier des informations sur le projet et une façon de partager des JAR sur plusieurs projets. Les objectifs de Maven sont les suivants :

  • Faciliter le processus de génération
  • Migrer en toute transparence vers de nouvelles fonctionnalités
  • Fournir un système de génération uniforme
  • Implémenter des recommandations sur les bonnes pratiques en matière de développement

En tant que développeur Java, vous êtes déjà familiarisé avec l’utilisation de Maven pour créer et compiler vos applications. Quand vous configurez votre environnement de développement, vous utilisez probablement toujours les dernières versions de Maven. Dans ce module, vous effectuez les exercices en utilisant Azure Cloud Shell dans le bac à sable Learn. Le service Cloud Shell dans le bac à sable Learn contient tous les éléments qui vous sont nécessaires pour créer des applications Java avec Maven prêtes à être déployées sur Azure.

Remarque

Si vous utilisiez votre compte Azure personnel au lieu de Cloud Shell dans le bac à sable Learn, vous devez vous assurer que les éléments suivants sont installés :

Élément Version
Java JDK 1.8
Maven 3.0 ou ultérieure
Azure Functions Core Tools 2.7 ou ultérieure

Présentation de l’architecture du plug-in Maven

Maven est une infrastructure pour l’exécution d’une série de plug-ins. Chaque plug-in Maven a des comportements spécifiques pilotés par les paramètres fournis par les développeurs. Par exemple, les plug-ins déterminent s’il faut créer un fichier d’archive d’application web (WAR) ou d’archive Java (JAR), comment votre code compile et l’exécution des tests unitaires. Presque toutes les actions peuvent être implémentées via un plug-in Maven.

Les plug-ins définissent des tâches en tant qu’objectifs et un plug-in peut avoir plusieurs objectifs. Par exemple, le plug-in Maven Clean a pour objectif de supprimer le répertoire cible de votre projet.

Un fichier POM (Project Object Model) Maven est un fichier de configuration XML qui fait partie des fichiers projet de votre application. Les fichiers POM sont nommés pom.xml et contiennent les définitions de chacun des plug-ins dont votre application a besoin, notamment les paramètres requis pour chaque plug-in.

Lors de la génération ou du déploiement d’une fonction Azure en tirant parti de Maven, vous devez veiller à inclure le azure-functions-maven-plugin dans votre fichier pom.xml. Les détails relatifs à l’ajout de ce plug-in à votre fichier pom.xml se trouvent dans la section Utilisation interactive d’archétypes de cette unité.

Présentation des archétypes Maven

À de nombreux égards, les archétypes Maven sont analogues à des modèles. Un archétype est un modèle que vous pouvez utiliser pour accélérer votre processus de développement. Les archétypes peuvent être personnalisés en utilisant des paramètres spécifiques au projet que vous fournissez pendant le processus de génération. Chaque archétype est basé sur des meilleures pratiques qui peuvent être configurées pour répondre aux besoins de votre organisation.

Utilisation interactive d’archétypes

Pour utiliser un archétype de Microsoft pour Azure Functions afin de créer un projet, vous pouvez vous servir de la commande mvn archetype:generate. Vous pouvez ainsi accéder au mode interactif, qui vous invite à entrer des valeurs. Par exemple :

mvn archetype:generate \
  -DarchetypeGroupId="com.microsoft.azure" \
  -DarchetypeArtifactId="azure-functions-archetype"

Où :

Paramètre Description
archetype:generate Ordonne à Maven de générer un projet à partir d’un archétype.
-DarchetypeGroupId Spécifie l’ID de groupe de l’archétype, qui est généralement le créateur de l’archétype.
-DarchetypeArtifactId Spécifie l’ID de l’archétype, qui est l’archétype Azure Functions dans cet exemple.
-DjavaVersion=8 Utilisez -DjavaVersion=11 si vous voulez que vos fonctions s’exécutent sur Java 11.

Lorsque vous créez un projet en tirant parti de la commande mvn archetype:generate, Maven crée un dossier pour le projet, et le dossier racine contient le fichier pom.xml de votre projet.

Si vous spécifiez azure-functions-archetype lorsque vous exécutez la commande mvn archetype:generate, le fichier pom.xml de votre projet a une section qui contient les informations nécessaires pour le plug-in Azure Functions. Par exemple :

<project>
  . . .
  <build>
    . . .
    <plugins>
      . . .
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>azure-functions-maven-plugin</artifactId>
            <version>${azure.functions.maven.plugin.version}</version>
            <configuration>
                <!-- function app name -->
                <appName>${functionAppName}</appName>
                <!-- function app resource group -->
                <resourceGroup>java-functions-group</resourceGroup>
                <!-- function app service plan name -->
                <appServicePlanName>java-functions-app-service-plan</appServicePlanName>
             . . .
         </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Création d’une fonction de base à l’aide d’Azure Cloud Shell

Vous pouvez créer une fonction Azure de base directement à partir d’Azure Cloud Shell. Azure s’assure que toutes les bibliothèques nécessaires sont disponibles pour créer et compiler votre projet, notamment Maven et le plug-in Azure Functions.

Les étapes suivantes illustrent le processus de base de la création d’une fonction Azure à l’aide de Cloud Shell :

  1. À partir de Cloud Shell, exécutez la commande mvn archetype:generate et spécifiez azure-functions-archetype.

  2. Maven vous invite à entrer groupId pour votre application, que vous entrez au format de nom de domaine inversé. Par exemple : com.microsoft.example.

  3. Maven vous invite à entrer le nom de l’artifactId de votre application, qui doit être une référence unique à votre projet. Par exemple : myapp.

  4. Maven peut vous demander d’autres paramètres, et vous pouvez accepter les valeurs par défaut en appuyant sur la touche Retour/Entrée de votre ordinateur. Seuls l’groupId et l’artifactId sont nécessaires pour le moment.

  5. Maven crée un projet de Fonction Azure local. Une fois la commande mvn archetype:generate terminée, vous disposez d’un projet Java simple prêt à être personnalisé et généré.

Dans l’exercice suivant, vous utilisez ces connaissances pour créer une fonction Azure en utilisant Maven.