Erstellen einer Azure-Funktion mit dem Maven-Archetyp

Abgeschlossen

Maven-Archetypen bieten Entwicklern grundlegende Bausteine, um Projekte zu erstellen. Es stehen verschiedene Archetypen zur Verfügung, und jeder Archetyp bietet bestimmte Funktionen, die Entwickler:innen bei der Anwendungsentwicklung verwenden können. Vor diesem Hintergrund hat Microsoft den azure-functions-archetype-Archetyp veröffentlicht, um die Arbeit mit Azure Functions zu unterstützen.

In dieser Lerneinheit erfahren Sie, was Sie für den Einstieg in Maven-Archetypen benötigen. Sie werden lernen, wie Sie den azure-functions-archetype mit Maven verwenden, und Sie erfahren, wie eine Beispielfunktion erstellt wird.

Erste Schritte mit Maven-Archetypen und Azure Functions

Verwenden von Maven zum Automatisieren der Erstellung von Java-Web-Apps

Maven ist das am häufigsten verwendete Java-Tool zum Erstellen und Verwalten von Java-basierten Projekten. Es bietet eine Standardmethode zum Erstellen von Projekten und optimiert die Prozesse, mit denen Entwickler:innen Java-Projekte erstellen. Dieser Standard umfasst eine klare Definition der Projektbestandteile, eine einfache Möglichkeit zum Veröffentlichen von Projektinformationen und eine Methode zum Freigeben von JARs für mehrere Projekte. Maven hat folgende Ziele:

  • Vereinfachen des Buildprozesses
  • Transparentes Migrieren zu neuen Features
  • Bereitstellen eines einheitlichen Buildsystems
  • Implementieren von Richtlinien für bewährte Entwicklungsmethoden

Als Java-Entwickler sind Sie bereits mit der Verwendung von Maven zum Erstellen und Kompilieren Ihrer Anwendungen vertraut. Wenn Sie Ihre Entwicklungsumgebung einrichten, bleiben Sie wahrscheinlich mit den neuesten Versionen von Maven auf dem Laufenden. In diesem Modul führen Sie die Übungen mithilfe der Azure Cloud Shell in der Learn-Sandbox aus. Die Cloud Shell in der Learn-Sandbox umfasst alle erforderlichen Komponenten für die Erstellung von Java-Anwendungen mit Maven, die für die Bereitstellung in Azure bereit sind.

Hinweis

Wenn Sie Ihr persönliches Azure-Konto anstelle von Cloud Shell in der Learn-Sandbox verwenden, müssen Sie sicherstellen, dass die folgenden Elemente installiert sind:

Element Version
Java JDK 17
Maven 3.0 oder höher
Azure Functions Core Tools 2.7 oder höher

Was ist die Maven-Plug-In-Architektur?

Maven ist ein Framework für die Ausführung einer Reihe von Plug-Ins. Jedes Maven-Plug-In verfügt über spezifische Verhaltensweisen, die von den Parametern gesteuert werden, die die Entwickler:innen angeben. Plug-Ins steuern beispielsweise, ob eine Webanwendungsarchivdatei (WAR) oder eine Java-Archivdatei (JAR) erstellt werden soll, wie Ihr Code kompiliert wird und wie Komponententests ausgeführt werden. Fast jede Aktion kann über ein Maven-Plug-In implementiert werden.

Plug-Ins definieren Aufgaben als Ziele, und ein Plug-In kann mehrere Ziele haben. Das Maven Clean-Plug-In hat beispielsweise ein Ziel, und zwar die Entfernung des Zielverzeichnisses aus Ihrem Projekt.

Eine Maven-Projektmodelldatei (Project Objekt Model, POM) ist eine XML-basierte Konfigurationsdatei, die Teil der Projektdateien Ihrer Anwendung sind. POM-Datei werden mit pom.xml benannt und enthalten Definitionen für alle Plug-Ins, die Ihre Anwendung benötigt, einschließlich der erforderlichen Parameter für jedes Plug-In.

Beim Erstellen oder Bereitstellen einer Azure-Funktion mit Maven müssen Sie sicherstellen, dass Sie das azure-functions-maven-plugin in Ihre pom.xml-Datei einschließen. Ausführliche Informationen zum Hinzufügen dieses Plug-Ins zu Ihrer pom.xml-Datei finden Sie im Abschnitt Interaktives Verwenden von Archetypen dieser Lerneinheit.

Was sind Maven-Archetypen?

In vielerlei Hinsicht sind Maven-Archetypen analog zu Vorlagen. Ein Archetyp ist ein Modell oder ein Muster, das Sie verwenden können, um Ihren Entwicklungsprozess zu beschleunigen. Archetypen können mit projektspezifischen Parametern angepasst werden, die Sie während des Generierungsprozesses bereitstellen. Jeder Archetyp basiert auf bewährten Methoden, die so konfiguriert werden können, dass sie die Anforderungen Ihrer Organisation erfüllen.

Interaktives Verwenden von Archetypen

Wenn Sie Microsoft-Archetypen für Azure Functions verwenden, um ein Projekt zu generieren, können Sie den Befehl mvn archetype:generate verwenden, der in den interaktiven Modus wechselt, in dem Sie zur Eingabe von Werten aufgefordert werden. Beispiel:

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

Hierbei gilt:

Parameter Beschreibung
archetype:generate Weist Maven an, ein Projekt aus einem Archetyp zu generieren
-DarchetypeGroupId Gibt die Gruppen-ID des Archetyps an, bei dem es sich normalerweise um den Ersteller des Archetyps handelt.
-DarchetypeArtifactId Gibt die ID des Archetyps an, der der Azure Functions-Archetyp in diesem Beispiel ist
-DjavaVersion=17 Verwenden Sie -DjavaVersion=11, wenn Sie Ihre Funktionen in Java 11 ausführen möchten.

Wenn Sie ein Projekt mit dem mvn archetype:generate-Befehl erstellen, erstellt Maven einen Ordner für das Projekt, und der Stammordner enthält die pom.xml-Datei Ihres Projekts.

Wenn Sie bei der Ausführung des mvn archetype:generate-Befehls den azure-functions-archetype eingeben, enthält die pom.xml-Datei Ihres Projekts einen Abschnitt, der die für das Azure Functions-Plug-In erforderlichen Informationen enthält. Beispiel:

<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>

Erstellen einer grundlegenden Funktion mithilfe von Azure Cloud Shell

Sie können eine einfache Azure-Funktion direkt über die Azure Cloud Shell-Instanz erstellen. Azure stellt sicher, dass alle erforderlichen Bibliotheken verfügbar sind, um Ihr Projekt zu erstellen, einschließlich Maven und der Azure Functions-Plug-In.

Die folgenden Schritte veranschaulichen den grundlegenden Prozess zum Erstellen einer Azure-Funktion mit der Cloud Shell-Instanz:

  1. Führen Sie in der Cloud Shell den mvn archetype:generate-Befehl aus, und geben Sie den azure-functions-archetype an.

  2. Maven fordert Sie zur Eingabe der groupId für Ihre Anwendung auf, die Sie im umgekehrten Domänennamenformat eingeben, zum Beispiel com.microsoft.example.

  3. Maven fordert Sie zur Eingabe des Namens der artifactId für Ihre Anwendung auf, die ein eindeutiger Verweis auf das Projekt sein sollte, zum Beispiel myapp.

  4. Maven fordert Sie ggf. zur Eingabe weiterer Parameter auf, und Sie können die Standardwerte übernehmen, indem Sie die RÜCKGABETASTE/EINGABETASTE auf Ihrem Computer drücken. Derzeit sind nur die groupId und artifactId erforderlich.

  5. Maven erstellt ein lokales Azure Functions-Projekt für Sie. Nachdem der mvn archetype:generate-Befehl ausgeführt wurde, verfügen Sie über ein einfaches Java-Projekt, das für die Anpassung und Erstellung bereit ist.

In der folgenden Übung verwenden Sie dieses Wissen, um mithilfe von Maven eine Azure-Funktion zu erstellen.