Első lépések a Azure SDK és a Maven használatában

Ez a cikk bemutatja, hogyan hozhat létre alkalmazásokat az Apache Maven használatával a Java-hoz készült Azure SDK-val. Ebben a cikkben beállít egy új projektet a Mavennel, projekteket készít a Mavennel, és a GraalVM natív képeszközzel platformspecifikus natív bináris fájlokat hoz létre.

Az Azure SDK for Java-projekt tartalmaz egy Maven-archetípust, amely felgyorsíthatja egy új projekt rendszerindítását. Az Azure SDK for Java Maven archetípus egy új alkalmazást hoz létre fájlokkal és az ajánlott eljárásokat követő címtárstruktúrával. Az Azure SDK for Java Maven archetípus különösen egy új Maven-projektet hoz létre a következő funkciókkal:

  • A legújabb azure-sdk-bom BOM-kiadásra való függőséggel biztosítani lehet az Azure SDK for Java összes függőségének összhangját, így a lehető legjobb fejlesztői élményt nyújtja.
  • A GraalVM natív képfordítás beépített támogatása.
  • Az Azure SDK for Java ügyfélkönyvtárak megadott készletével támogatott új projekt létrehozása.
  • Integráció a Java-hoz készült Azure SDK buildelési eszközével, amely a projekt buildidejének elemzését teszi lehetővé, hogy számos ajánlott eljárás legyen követve.

Előfeltételek

Új Maven-projekt létrehozása

A Maven-archetípus Java Azure SDK elérhető a Maven Centralon. Az archetípussal közvetlenül indíthat új alkalmazásokat az alábbi parancs futtatásával:

mvn archetype:generate \
    -DarchetypeGroupId=com.azure.tools \
    -DarchetypeArtifactId=azure-sdk-archetype

Miután megadta ezt a parancsot, egy sor üzenet kéri a projekt részleteit, hogy az archetípus a megfelelő kimenetet hozza létre. Az alábbi táblázat azokat a tulajdonságokat ismerteti, amelyekhez értékeket kell megadnia:

Név Leírás
groupId (Kötelező) A Maven groupId, amit a generált projekthez létrehozott POM-fájlban kell használni.
artifactId (Kötelező) A Maven artifactId, amit a generált projekthez létrehozott POM-fájlban kell használni.
package (Nem kötelező) A létrehozott kód beírásához a csomag neve. Ha nincs megadva, akkor az groupId alapján következtethető.
azureLibraries (Nem kötelező) Az Azure SDK for Java-könyvtárak vesszővel tagolt listája a Maven-artefakt azonosítóikkal. Az ilyen összetevők azonosítóinak listáját Azure SDK-kiadásokcímű témakörben találja.
enableGraalVM (Nem kötelező) false annak jelzésére, hogy a létrehozott Maven POM-fájl nem tartalmazhat támogatást az alkalmazás natív képre történő fordításához a GraalVM használatával; ellenkező esetben true. Az alapértelmezett érték a true.
javaVersion (Nem kötelező) A létrehozott projekt létrehozásakor megcélzott JDK minimális verziója, például 8, 11vagy 17. Az alapértelmezett érték a legújabb LTS-kiadás (jelenleg 17). A minimális érték 8.
junitVersion (Nem kötelező) A JUnit függőségként való belefoglalásának verziója. Az alapértelmezett érték a 5. Az érvényes értékek a következők: 4 és 5.

Másik lehetőségként ezeket az értékeket is megadhatja, amikor meghívja a korábban bemutatott archetípus-parancsot. Ez a megközelítés például automatizálási célokra hasznos. Az értékeket paraméterként a paraméternévhez való hozzáfűzés -D szabványos Maven-szintaxisával adhatja meg, például:

-DjavaVersion=17

Java-verzió támogatása

Ajánlott eljárásként használjon egy Java LTS-kiadást az éles környezetben való üzembe helyezéskor. Alapértelmezés szerint az Azure SDK Maven archetípus a legújabb LTS-kiadást választja ki, amely jelenleg egy Java 17 alapkonfigurációt állít be. Az alapértelmezett viselkedést azonban felülbírálhatja a javaVersion paraméter beállításával.

Az Azure SDK for Java build eszköz használata

A Java projekt Azure SDK tartalmaz egy Maven buildelési eszközt, amelyet hozzáadhat a projektjeihez. Ez az eszköz helyileg fut, és nem küld adatokat Microsoft. Az eszközt úgy konfigurálhatja, hogy jelentést hozzon létre, vagy bizonyos feltételek teljesülése esetén meghiúsuljon a buildelés. Ez a funkció biztosítja az ajánlott eljárásoknak való megfelelést, például az alábbi eljárásokat:

  • A azure-sdk-for-java BOM helyes használatának ellenőrzése, a legújabb verzió használatával, amely alapján a függőségi verziókat definiálják az Azure SDK Java klienskönyvtárai számára. További információ: Azure SDK hozzáadása Java-hoz egy meglévő projekthez szakasz.
  • Annak ellenőrzése, hogy a korábbi Azure ügyfélkódtárak nem használhatók-e újabb és továbbfejlesztett verziók esetén.

A jelentés betekintést nyújt a béta API-k használatába is.

A buildelési eszközt a projekt Maven POM-fájljában konfigurálhatja az alábbi példában látható módon. Mindenképpen cserélje le a {latest_version} helyőrzőt az online elérhető legújabb verzióra.

<build>
  <plugins>
    <plugin>
      <groupId>com.azure.tools</groupId>
      <artifactId>azure-sdk-build-tool</artifactId>
      <version>{latest_version}</version>
    </plugin>
  </plugins>
</build>

Miután hozzáadta a buildelési eszközt egy Maven-projekthez, futtassa az eszközt hívással mvn compile azure:run. A megadott konfigurációtól függően számíthat a létrehozási hibákra vagy a létrehozott jelentésfájlokra, amelyek a súlyosabb problémák előtt tájékoztatják Önt a lehetséges problémákról. Futtassa ezt az eszközt a CI/CD-folyamat részeként. A buildelési eszköz fejlődésével a fejlesztői csapat új kiadásokat tesz közzé. Gyakran ellenőrizze az új kiadásokat és a frissítéseket, ha szükséges.

A buildelési eszközt konfigurálhatja bizonyos funkciók engedélyezésére vagy letiltására. Ehhez a konfigurációhoz adjon hozzá egy configuration szakaszt a korábban bemutatott XML-fájlban. Ezen a szakaszon belül konfigurálja az alábbi táblázatban látható beállításokat. A kifejezetten nem említett konfigurációk a táblában megadott alapértelmezett értéket veszi igénybe.

Tulajdonság neve Alapértelmezett érték Leírás
validateAzureSdkBomUsed igaz Biztosítja, hogy a projekt megfelelően hivatkozzon az azure-sdk-for-java BOM-ra, hogy az Azure SDK for Java ügyfélkódtár-függőségei a BOM-ból kapják a verziójukat.
validateLatestBomVersionUsed igaz Biztosítja, hogy a függőségek naprakészek maradjanak azáltal, hogy jelentést készít — vagy meghiúsítja a buildet —, ha létezik újabb azure-sdk-for-java BOM. Mindig megtalálhatja a legújabb verziót online.
validateBomVersionsAreUsed igaz Biztosítja, hogy ahol egy függőség elérhető az azure-sdk-for-java BOM-ból, a verzió ne legyen manuálisan felülírva.
validateNoDeprecatedMicrosoftLibraryUsed igaz Biztosítja, hogy a projekt ne használjon korábbi generációs Azure kódtárakat. Az új és az előző generációs kódtárak egyetlen projektben való használata valószínűleg nem okoz problémát, de az optimálisnál rosszabb fejlesztői élményt eredményez.
validateNoBetaLibraryUsed téves Egyes Azure SDK for Java-ügyfélkönyvtárak bétaverziós kiadásokkal rendelkeznek, amelyeket a x.y.z-beta.nformájú verziósztringek jeleznek. A funkció engedélyezése biztosítja, hogy a rendszer ne használ bétakódtárakat.
validateNoBetaApiUsed igaz Az Azure Java SDK ügyfélkönyvtárai néha általánosan elérhető (GA) kiadásokkal rendelkeznek, amelyekben a metódusok @Beta-val vannak jelölve. Ez az ellenőrzés ellenőrzi, hogy van-e ilyen módszer.
sendToMicrosoft igaz Megadja, hogy a buildjelentést telemetria céljából küldje-e el a Microsoftnak. Ez a jelentés segítséget nyújt a fejlesztői csapatnak abban, hogy hol rangsorolhatja a dokumentációt, a mintákat és a továbbfejlesztett kényelmi API-kat. A rendszer nem küld felhasználó-azonosításra alkalmas tartalmat.
reportFile - (Nem kötelező) Megadja a buildjelentés JSON formátumban való írásának helyét. Ha nincs megadva, a rendszer nem ír jelentést, és megjelenik a build összegzése vagy a megfelelő buildelési hibák a terminálban.

Azure SDK for Java hozzáadása meglévő projekthez

A függőségek verziókezelésének egyszerűsítése érdekében az Azure SDK for Java csapata minden hónapban közzéteszi a Java-hoz készült Azure SDK ügyféloldali BOM-ját. Ez a BOM-fájl az összes általánosan elérhető (GA) Azure SDK for Java ügyfélcsomagot tartalmazza a hozzájuk kompatibilis függőségi verziókkal együtt.

Ha a BOM-ban felsorolt Azure SDK for Java ügyfélkódtárhoz tartozó függőségverziókat szeretné használni, adja hozzá a következő kódrészletet a projekt pom.xml fájljához. Cserélje le a helyőrzőt az Azure SDK for Java BOMlegújabb kiadására. Cserélje le a {artifactId} helyőrzőt az Azure Service SDK-csomag nevére.

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-sdk-bom</artifactId>
      <version>{bom_version_to_target}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>{artifactId}</artifactId>
  </dependency>
</dependencies>

Az Azure SDK for Java kliens BOM összes kiadását az azure-sdk-bomalatt találja. A legújabb verzióval kihasználhatja a Azure SDK legújabb funkcióit Java ügyfélkódtárakhoz.

Ha a Maven használatával definiálja a projektfüggőségeket, egyszerűbbé teheti a projektek kezelését. Az Azure SDK BOM és az Azure SDK Maven archetípus használatával felgyorsíthatja projektje fejlesztését, miközben hosszú távon is nagyobb biztonsággal kezelheti a függőségverziókat. A BOM használatával a függőségeket igazíthatja és naprakészen tarthatja.

Az Azure SDK BOM hozzáadása mellett vegye fel az Azure SDK for Java buildeszközt is. Ez az eszköz segít diagnosztizálni az alkalmazások létrehozásakor gyakran előforduló problémákat, a cikkben korábban ismertetett módon.

Tegyél bele egy csomagot, ami nincs az anyagjegyzékben.

Az Azure SDK for Java BOM-ja csak általánosan elérhető (GA) kódtárakat tartalmaz. Ha egy még béta állapotú csomagot vagy a BOM-ban foglalttól eltérő kódtárverziót szeretne használni, adja meg a Maven-függőség verzióját a groupId és a artifactId elemmel együtt a függőségek szakaszában. Dönthet úgy, hogy olyan függőségekkel rendelkezik, amelyek BOM-verziókat használnak, és olyan függőségekkel, amelyek felülírt verziókkal vannak ugyanabban a projekt POM-fájlban, ahogyan az alábbi példában látható:

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-eventhubs</artifactId> <!-- Use the dependency version that is in the BOM -->
  </dependency>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-servicebus</artifactId>
    <version>7.4.0</version> <!-- Override the Service Bus dependency version specified in the BOM -->
  </dependency>
</dependencies>

Ha ezt a módszert használja, és közvetlenül a projektben adja meg a verziókat, előfordulhat, hogy függőségi verzióütközések lesznek. Ezek az ütközések azért merülnek fel, mert a különböző csomagok a közös függőségek különböző verzióitól függhetnek, és előfordulhat, hogy ezek a verziók nem kompatibilisek egymással. Ütközések esetén a fordítási időben vagy a futtatókörnyezetben nemkívánatos viselkedés tapasztalható. Ha szükséges, a Azure SDK anyagjegyzékben szereplő verziókra támaszkodhat. További információ a függőségek kezeléséről a Java Azure SDK használatakor: Függőségi verzióütközések elhárítása.

Natív rendszerkép létrehozása a GraalVM használatával

A GraalVM használatával létrehozhat egy Java-alkalmazás natív rendszerképét. A GraalVM előre lefordítja a Java-kódot natív gépi kódra, ami bizonyos helyzetekben drasztikus teljesítménynövekedést eredményezhet. Az Azure SDK for Java minden ügyfélkódtárában biztosítja a szükséges metaadatokat a GraalVM natív képfordításának támogatásához.

Első lépésként telepítse a GraalVM-et, és készítse elő a fejlesztői rendszert natív képek összeállítására. A GraalVM telepítési folyamata egyszerű, és a GraalVM dokumentációja részletes útmutatás t nyújt a GraalVM és GraalVM használatával történő telepítéséhez a natív képtelepítéséhez. Kövesse az előfeltételeket szakaszt, hogy telepítse az operációs rendszerhez szükséges natív fordítókat.

Az Azure SDK for Java Maven archetípusa konfigurálhatja a buildet a GraalVM natív képfeldolgozásának támogatására, de hozzáadhatja egy meglévő Maven-buildhez is. A útmutatást a Maven számára a GraalVM webhelyén találhatja meg.

Ezután készen áll egy natív képfájl build futtatására. A GraalVM natív rendszerképét a standard Maven-eszközök használatával használhatja. A Maven esetében használja a következő parancsot:

mvn clean package -Pnative

A parancs futtatása után a GraalVM natív végrehajtható fájlt ad ki ahhoz a platformhoz, amelyen fut. A végrehajtható fájl megjelenik a projekt Maven /target könyvtárában. Most már futtathatja az alkalmazást ezzel a végrehajtható fájllal, és a szokásos Java-alkalmazáshoz hasonlóan kell végrehajtania.

Következő lépések