Vytvoření funkce služby Azure Functions pomocí archetypu Maven

Dokončeno

Archetypy Maven poskytují vývojářům základní stavební bloky pro vytváření projektů. K dispozici jsou různé archetypy a každý jiný archetyp poskytuje specifické funkce, které můžou vývojáři používat při vývoji aplikací. S ohledem na to Společnost Microsoft vydala azure-functions-archetype archetyp, aby podporovala práci se službou Azure Functions.

V této lekci se dozvíte, co potřebujete, abyste mohli začít s archetypy Maven. Zjistíte, jak používat azure-functions-archetype Maven a prozkoumáte vytvoření ukázkové funkce.

Začínáme s archetypy Maven a Azure Functions

Automatizace sestavování webových aplikací Java pomocí Mavenu

Maven je nejčastěji používaný nástroj pro sestavování a správu libovolného projektu založeného na Javě. Pomáhá zjednodušit procesy vytváření projektů v Javě tím, že poskytuje standardní způsob vytváření projektů. Součástí tohoto standardu je jasná definice toho, čeho se projekt skládá, snadný způsob publikování informací o projektu a způsob sdílení žádostí o přijetí změn napříč několika projekty. Cílem Mavenu je:

  • Zjednodušit proces sestavení
  • Transparentně migrovat na nové funkce
  • Poskytnout jednotný systém sestavení
  • Implementovat pokyny týkající se osvědčených postupů při vývoji

Jako vývojář v jazyce Java už jste obeznámeni s používáním Mavenu k vytváření a kompilování aplikací. Vývojové prostředí máte s největší pravděpodobností nastavené tak, abyste měli vždy nejnovější verzi Mavenu. V tomto modulu dokončíte cvičení pomocí Azure Cloud Shellu v sandboxu Learn. Cloud Shell v sandboxu Learn obsahuje všechny potřebné součásti pro vytváření aplikací v Javě pomocí Mavenu, které jsou připravené k nasazení do Azure.

Poznámka:

Pokud byste v sandboxu Learn místo Cloud Shellu používali svůj osobní účet Azure, museli byste mít nainstalované následující položky:

Položka Verze
Java JDK 1.8
Maven 3.0 nebo vyšší
Azure Functions Core Tools 2,7 nebo vyšší

Co je architektura modulů plug-in Maven

Maven je architektura pro provádění řady modulů plug-in. Každý modul plug-in Maven má specifické chování řízené parametry, které poskytují vývojáři. Moduly plug-in například určují, jestli se má vytvořit soubor WAR (Web Application Archive) nebo JAR (Java Archive) a jak se bude váš kód kompilovat a řídí také spouštění testů jednotek. Prostřednictvím modulu plug-in Maven je možné implementovat prakticky jakoukoli akci.

Moduly plug-in definují úkoly jako cíle a modul plug-in může mít několik cílů. Například modul plug-in Maven Clean Plugin má jeden cíl, a tím je odebrání cílového adresáře pro váš projekt.

Soubor Maven Project Object Model (POM) je konfigurační soubor XML, který je součástí souborů projektu vaší aplikace. Soubory POM mají název pom.xml a obsahují definice pro každý z modulů plug-in, které vaše aplikace potřebuje, včetně požadovaných parametrů pro každý modul plug-in.

Při sestavování nebo nasazování funkce Azure pomocí Mavenu musíte do souboru pom.xml zahrnout azure-functions-maven-plugin. Podrobnosti o přidání plug-inu do souboru pom.xml najdete v této lekci v oddílu Interaktivní použití archetypů.

Co jsou archetypy Maven?

V mnoha ohledech jsou archetypy Maven podobné šablonám. Archetyp je model (vzor), který můžete použít k urychlení procesu vývoje. Archetypy je možné přizpůsobit pomocí parametrů specifických pro projekt, které zadáte během procesu generování. Jednotlivé archetypy jsou založené na osvědčených postupech, které je možné nakonfigurovat tak, aby splňovaly požadavky vaší organizace.

Interaktivní použití archetypů

Pokud byste k vygenerování projektu chtěli použít archetyp společnosti Microsoft pro Azure Functions, mohli byste použít příkaz mvn archetype:generate, který přepne do interaktivního režimu, ve kterém budete vyzváni k zadání hodnot. Příklad:

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

Kde:

Parametr Popis
archetype:generate Instruuje Maven, aby vygeneroval projekt z archetypu.
-DarchetypeGroupId Určuje ID skupiny archetypu, což je obvykle autor archetypu.
-DarchetypeArtifactId Určuje ID archetypu, což je archetyp Azure Functions v tomto příkladu.
-DjavaVersion=8 Pokud chcete funkce spouštět ve verzi Java 11, použijte -DjavaVersion=11.

Když vytvoříte projekt pomocí mvn archetype:generate příkazu, Maven vytvoří pro projekt složku a kořenová složka obsahuje soubor pom.xml projektu.

Pokud zadáte azure-functions-archetype při spuštění mvn archetype:generate příkazu, soubor pom.xml projektu obsahuje oddíl, který obsahuje potřebné informace pro modul plug-in Azure Functions. Příklad:

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

Vytvoření základní funkce pomocí Azure Cloud Shellu

Základní funkci Azure můžete vytvořit přímo v rámci Azure Cloud Shellu. Azure zajišťuje, aby byly k dispozici všechny požadované knihovny pro vytvoření a sestavení projektu, včetně modulu plug-in Azure Functions a Maven.

Následující kroky ilustrují základní proces pro vytvoření funkce služby Azure Function pomocí Cloud Shellu:

  1. V Cloud Shellu spusťte mvn archetype:generate příkaz a zadejte azure-functions-archetype.

  2. Maven vás vyzve k zadání groupId aplikace, kterou zadáte v obráceném formátu názvu domény, například: com.microsoft.example.

  3. Maven vás vyzve k zadání názvu identifikátoru artifactId pro vaši aplikaci, který by měl jedinečně odkazovat na váš projekt, například: myapp.

  4. Maven vás může vyzvat k zadání dalších parametrů. Můžete přijmout výchozí hodnoty, a to stisknutím klávesy Enter na počítači. Pro tuto chvíli je potřeba jenom groupId a artifactId.

  5. Maven vytvoří místní projekt funkce Azure Functions. mvn archetype:generate Po dokončení příkazu máte jednoduchý projekt Java, který je připravený k přizpůsobení a sestavení.

V následujícím cvičení použijete tyto znalosti k vytvoření funkce Azure Functions pomocí Mavenu.