Erstellen einer Azure-Funktion mit dem Maven-Archetyp
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:
Führen Sie in der Cloud Shell den
mvn archetype:generate
-Befehl aus, und geben Sie denazure-functions-archetype
an.Maven fordert Sie zur Eingabe der
groupId
für Ihre Anwendung auf, die Sie im umgekehrten Domänennamenformat eingeben, zum Beispielcom.microsoft.example
.Maven fordert Sie zur Eingabe des Namens der
artifactId
für Ihre Anwendung auf, die ein eindeutiger Verweis auf das Projekt sein sollte, zum Beispielmyapp
.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
undartifactId
erforderlich.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.