Az Azure SDK használata Java-hoz

A Nyílt forráskódú Azure SDK for Java leegyszerűsíti az Azure-erőforrások kiépítését, kezelését és használatát a Java-alkalmazáskódból.

Fontos részletek

  • Az Azure-könyvtárak segítségével a helyileg vagy a felhőben futó Java-kódból kommunikálhat az Azure-szolgáltatásokkal.
  • A kódtárak támogatják a Java 8-at és újabbakat, és tesztelve vannak a Java 8 alapkonfigurációval és a legújabb Java hosszú távú támogatási kiadással.
  • A kódtárak teljes Java-modultámogatást tartalmaznak, ami azt jelenti, hogy teljes mértékben megfelelnek a Java-modul követelményeinek, és exportálják az összes megfelelő csomagot használatra.
  • A Java-hoz készült Azure SDK csak számos, adott Azure-szolgáltatáshoz kapcsolódó egyéni Java-kódtárból áll. Az SDK nem tartalmaz más eszközöket.
  • Az SDK különböző "felügyeleti" és "ügyféloldali" kódtárakat (más néven "felügyeleti sík" és "adatsík" kódtárakat) használ. Minden készlet különböző célokat szolgál, és különböző kódtípusok használják. További információkért tekintse meg a cikk későbbi szakaszait:
  • A kódtárak dokumentációját a Azure Java-referencia Azure szolgáltatás vagy a csomagnév alapján rendezett Java API-böngészőben találja.

Egyéb részletek

  • A Java kódtárak Azure SDK a mögöttes Azure REST API-ra épülnek, így ezeket az API-kat ismerős Java paradigmákon keresztül használhatja. A REST API-t azonban mindig közvetlenül a Java-kódból használhatja, ha szeretné.
  • Az Azure-kódtárak forráskódját a GitHub-adattártalálja. Nyílt forráskódú projektként szívesen vesszük a közreműködést!
  • A Java Azure SDK frissül, hogy megossza a gyakori felhőmintákat, például a hitelesítési protokollokat, a naplózást, a nyomkövetést, az átviteli protokollokat, a pufferelt válaszokat és az újrapróbálkozásokat.
    • Ez a megosztott funkció az azure-core könyvtárban található.
  • A kódtárakra alkalmazott irányelvekről további információt a Java Azure SDK tervezési útmutatóban talál.

Támogatott platformok a Java-hoz készült Azure SDK-hoz

Az Azure SDK for Java támogatja a Java 8-at és az újabb verziókat, de fejlesztéshez és az éles környezetbe történő kiadáshoz mindig a Java legújabb hosszú távú támogatású (LTS) verzióját használja. A legújabb LTS-kiadással biztosítható a Java legújabb fejlesztéseinek elérhetősége, beleértve a hibajavításokat, a teljesítménybeli fejlesztéseket és a biztonsági javításokat. Emellett a Java-hoz készült Azure SDK további támogatást is tartalmaz a Java későbbi kiadásaihoz. Ez a további támogatás javítja a teljesítményt, és JDK-specifikus fejlesztéseket tartalmaz a támogatott Java 8 alapkonfiguráción túl.

Az Azure SDK for Java tesztelése és támogatása Windows, Linux és macOS rendszeren történik. Nem tesztelik más platformokon, amelyeket a JDK támogat, és nem támogatja az Android-telepítéseket. AzOknak a fejlesztőknek, amelyek androidos eszközökön szeretnének üzembe helyezni szoftvereket, és amelyek az Azure-szolgáltatásokat használják, androidos kódtárak érhetők el az Azure SDK for Android projektben.

Azure-erőforrások csatlakoztatása és használata ügyfélkódtárakkal

Az ügyféloldali (vagy "adatsíkos") kódtárak segítségével Java-alkalmazáskódot írhat a már kiépített szolgáltatásokkal való interakcióhoz. Az ügyfélkódtárak csak az ügyfél API-t támogató szolgáltatásokhoz léteznek. Azonosíthatók, mert a Maven-csoportazonosítójuk com.azure.

Minden Azure Java-ügyfélkódtár ugyanazt az API-tervezési mintát követi, amely egy Java Builder-osztályt kínál, amely egy ügyfélpéldány létrehozásáért felelős. Ez a minta elválasztja a kliens definícióját és példányosítását a működésétől, így a kliens módosíthatatlan, és könnyebb használni. Emellett minden ügyfélkódtár követ néhány fontos mintát:

  • A szinkron és az aszinkron API-kat egyaránt támogató ügyfélkódtáraknak külön osztályokban kell kínálnia ezeket az API-kat. Ez a követelmény azt jelenti, hogy ezekben az esetekben például létezik szinkronizálási KeyVaultClient API-k és aszinkron KeyVaultAsyncClient API-k.

  • Egyetlen szerkesztőosztály felel a szinkronizálási és az aszinkron API-k létrehozásáért. A builder neve hasonló a szinkronizáló kliensosztályéhoz, Builder szerepel benne. Például KeyVaultClientBuilder. Ez az építő buildClient() és buildAsyncClient() metódusokkal rendelkezik az ügyfélpéldányok megfelelő létrehozásához.

Ezen konvenciók miatt az Client végződő osztályok nem módosíthatók, és műveleteket biztosítanak az Azure-szolgáltatásokkal való interakcióhoz. Az ClientBuilder végződő összes osztály egy adott ügyféltípus egy példányának konfigurálásához és létrehozásához biztosít műveleteket.

Ügyfélkönyvtárak példája

Az alábbi példakód bemutatja, hogyan hozhat létre szinkron Key Vault-KeyClient:

KeyClient client = new KeyClientBuilder()
        .endpoint(<your Key Vault URL>)
        .credential(new DefaultAzureCredentialBuilder().build())
        .buildClient();

Az alábbi példakód bemutatja, hogyan hozhat létre aszinkron Key Vault-KeyAsyncClient:

KeyAsyncClient client = new KeyClientBuilder()
        .endpoint(<your Key Vault URL>)
        .credential(new DefaultAzureCredentialBuilder().build())
        .buildAsyncClient();

Az egyes ügyfélkódtárak használatával kapcsolatos további információkért tekintse meg a README.md fájlt, amely a SDK GitHub-adattár projektkönyvtárában található. További kódrészleteket a referenciadokumentációjában és az Azure-mintáktalál.

Azure-erőforrások kiépítése és kezelése felügyeleti kódtárakkal

A felügyeleti (vagy „felügyeleti sík”) könyvtárak segítségével Java-alkalmazáskódból hozhat létre, helyezhet üzembe, illetve egyéb módon kezelhet Azure-erőforrásokat. Ezeket a kódtárakat a com.azure.resourcemanager Maven-csoportazonosítóban találja. Minden Azure-szolgáltatáshoz megfelelő felügyeleti kódtárak tartoznak.

A kezelő könyvtárak használatával olyan konfigurációs és üzembehelyezési szkripteket írhat, amelyekkel az Azure portálon vagy a Azure CLI keresztül végrehajthatja ugyanazokat a feladatokat.

Minden Azure Java felügyeleti kódtár egy *Manager osztályt biztosít szolgáltatás API-ként, például ComputeManager az Azure számítási szolgáltatáshoz, vagy AzureResourceManager a népszerű szolgáltatások összesítéséhez.

Menedzsmentkönyvtárak példái

Az alábbi példakód bemutatja, hogyan hozhat létre ComputeManager:

ComputeManager computeManager = ComputeManager
    .authenticate(
        new DefaultAzureCredentialBuilder().build(),
        new AzureProfile(AzureEnvironment.AZURE));

Az alábbi példakód bemutatja, hogyan építhet ki új virtuális gépet:

VirtualMachine virtualMachine = computeManager.virtualMachines()
    .define(<your virtual machine>)
    .withRegion(Region.US_WEST)
    .withExistingResourceGroup(<your resource group>)
    .withNewPrimaryNetwork("10.0.0.0/28")
    .withPrimaryPrivateIPAddressDynamic()
    .withoutPrimaryPublicIPAddress()
    .withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_18_04_LTS)
    .withRootUsername(<virtual-machine username>)
    .withSsh(<virtual-machine SSH key>)
    .create();

Az alábbi példakód egy meglévő virtuális gép beszerzését mutatja be:

VirtualMachine virtualMachine = computeManager.virtualMachines()
    .getByResourceGroup(<your resource group>, <your virtual machine>);

Az alábbi példakód bemutatja, hogyan frissítheti a virtuális gépet, és adhat hozzá új adatlemezt:

virtualMachine.update()
    .withNewDataDisk(10)
    .apply();

Az egyes felügyeleti tárak használatával kapcsolatos további információkért tekintse meg a README.md fájlt, amely a SDK GitHub-adattár projektkönyvtárában található. További kódrészleteket a referenciadokumentációjában és az Azure-mintáktalál.

Segítség kérése és csatlakozás az SDK-csapathoz

Következő lépések

Most, hogy megismerte a Java Azure SDK, fedezze fel a kódtárak használata során hatékonyan használható, több területet átfogó fogalmakat. A következő cikkek jó kiindulópontokat nyújtanak: