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ódtárak segítségével kommunikálhat az Azure-szolgáltatásokkal a helyileg vagy a felhőben futtatott Java-kódból.
- A kódtárak támogatják a Java 8-at és újabb verziókat, és a Java 8 alapkonfigurációja és a Java legújabb "hosszú távú támogatása" kiadásán is tesztelve vannak.
- 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-ban nincsenek más eszközök.
- Vannak különálló "menedzsment" és "ügyfél" könyvtárak (más néven "felügyeleti sík" és "adatsík" könyvtárak). 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önyvtárak dokumentációja a Azure for Java referencia oldalon, Azure-szolgáltatásonként rendezve, vagy a Java API böngészőben, csomagnév szerint rendezve található.
Egyéb részletek
- Az Azure SDK for Java-kódtárak az alapul szolgáló 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!
- Jelenleg frissítjük az Azure SDK for Java-kódtárakat olyan gyakori felhőbeli minták megosztására, mint a hitelesítési protokollok, a naplózás, a nyomkövetés, az átviteli protokollok, a pufferelt válaszok és az újrapróbálkozások.
- Ez a megosztott funkció az azure-core
könyvtárban található.
- Ez a megosztott funkció az azure-core
- A kódtárakra vonatkozó irányelvekről további információt a Java Azure SDK tervezési útmutatójábantalál.
Támogatott platformok a Java-hoz készült Azure SDK-hoz
Az Azure SDK for Java a Java 8 és újabb verziók támogatásával működik, de azt javasoljuk, hogy a fejlesztők mindig a legújabb Java hosszú távú támogatási (LTS) kiadást használják fejlesztéskor és éles környezetben való kiadáskor. 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 szétválasztja az ügyfél definícióját és példányosítását a működésétől, így az ügyfél változtathatatlan, és ezért könnyebben használható. 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 azt jelenti, hogy ezekben az esetekben például lenne egy
KeyVaultClient
a szinkron API-k és egyKeyVaultAsyncClient
az aszinkron API-k esetében.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áulKeyVaultClientBuilder
. Ez a szerkesztő adott esetbenbuildClient()
ésbuildAsyncClient()
metódusokkal rendelkezik az ügyfélpéldányok 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
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ódtárak segítenek Az Azure-erőforrások Java-alkalmazáskódból való létrehozásában, kiépítésében és egyéb módon történő kezelésében. 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 felügyeleti kódtárakkal konfigurációs és üzembehelyezési szkripteket írhat, hogy ugyanazokat a feladatokat hajthassa végre, amelyeket az Azure Portal vagy az Azure CLI-keresztül is elvégezhet.
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
Segítség kérése és csatlakozás az SDK-csapathoz
- Keresse fel a Java-hoz készült Azure SDK dokumentációját.
- Kérdéseket tehet fel a közösségnek a(z) Stack Overflow-on.
- Az SDK-val kapcsolatos problémák megnyitása a GitHub-adattárban.
- Említsd meg @AzureSDK a Twitteren.
Következő lépések
Most, hogy megismerte a Java-hoz készült Azure SDK-t, alapos betekintést kaphat számos olyan átfogó fogalomba, amelyek a kódtárak használata során hatékonyabbá teszik a használatot. A következő cikkek jó kiindulópontokat nyújtanak:
- HTTP-ügyfelek és -folyamatok
- aszinkron programozás
- oldalazás és iteráció
- Hosszú ideig futó műveletek
- Proxyk konfigurálása
- Nyomkövetési konfigurálása