De Azure SDK voor Java gebruiken

De opensource Azure SDK voor Java vereenvoudigt het inrichten, beheren en gebruiken van Azure-resources vanuit Java-toepassingscode.

Belangrijke details

  • De Azure-bibliotheken zijn de manier waarop u communiceert met Azure-services vanuit Java-code die u lokaal of in de cloud kunt uitvoeren.
  • De bibliotheken ondersteunen Java 8 en hoger en worden getest op basis van zowel de Java 8-basislijn als de nieuwste versie van Java voor langetermijnondersteuning.
  • De bibliotheken bevatten volledige ondersteuning voor Java-modules, wat betekent dat ze volledig compatibel zijn met de vereisten van een Java-module en alle relevante pakketten voor gebruik exporteren.
  • De Azure SDK voor Java bestaat uitsluitend uit veel afzonderlijke Java-bibliotheken die betrekking hebben op specifieke Azure-services. Er zijn geen andere hulpprogramma's in de SDK.
  • Er zijn afzonderlijke beheer- en clientbibliotheken (ook wel 'beheervlak'- en 'gegevensvlakbibliotheken' genoemd). Elke set heeft verschillende doeleinden en wordt gebruikt door verschillende soorten code. Zie de volgende secties verder in dit artikel voor meer informatie:
  • U vindt documentatie voor de bibliotheken in de Naslaginformatie voor Azure voor Java, geordend op Azure-service, of de Java API-browser, geordend op pakketnaam.

Overige details

  • De Azure SDK voor Java-bibliotheken bouwen voort op de onderliggende Azure REST API, zodat u deze API's kunt gebruiken via bekende Java-paradigma's. U kunt echter altijd de REST API rechtstreeks vanuit Java-code gebruiken, als u dat liever doet.
  • U vindt de broncode voor de Azure-bibliotheken in de GitHub opslagplaats. Als opensource-project zijn bijdragen welkom.
  • Momenteel wordt de Azure SDK voor Java-bibliotheken bijgewerkt om algemene cloudpatronen te delen, zoals verificatieprotocollen, logboekregistratie, tracering, transportprotocollen, gebufferd antwoord en nieuwe proberen.
  • Zie de Ontwerprichtlijnen voor Java Azure SDKvoor meer informatie over de richtlijnen die we op de bibliotheken toepassen.

Ondersteunde platforms voor Azure SDK voor Java

De Azure SDK voor Java wordt geleverd met ondersteuning voor Java 8 en hoger, maar we raden ontwikkelaars aan altijd de nieuwste release voor langetermijnondersteuning (LTS) voor Java te gebruiken in ontwikkeling en bij het vrijgeven naar productie. Het gebruik van de nieuwste LTS-release zorgt voor de beschikbaarheid van de nieuwste verbeteringen in Java, waaronder oplossingen voor fouten, prestatieverbeteringen en beveiligingsfixes. De Azure SDK voor Java bevat ook aanvullende ondersteuning voor latere versies van Java. Deze aanvullende ondersteuning verbetert de prestaties en bevat JDK-specifieke verbeteringen die verder gaan dan de ondersteunde Java 8-basislijn.

De Azure SDK voor Java wordt getest en ondersteund op Windows, Linux en macOS. Het wordt niet getest op andere platforms die door de JDK worden ondersteund en biedt geen ondersteuning voor Android-implementaties. Voor ontwikkelaars die software willen ontwikkelen voor implementatie op Android-apparaten en die gebruikmaken van Azure-services, zijn er Android-specifieke bibliotheken beschikbaar in het Azure SDK voor Android-project.

Verbinding maken azure-resources met clientbibliotheken maken en gebruiken

De clientbibliotheken (of gegevensvlakbibliotheken) helpen u bij het schrijven van Java-toepassingscode om te communiceren met services die al zijn ingericht. Clientbibliotheken bestaan alleen voor services die ondersteuning bieden voor een client-API. U kunt ze identificeren omdat hun Maven-groeps-id com.azure is.

Alle Azure Java-clientbibliotheken volgen hetzelfde API-ontwerppatroon om een Java Builder-klasse te bieden die verantwoordelijk is voor het maken van een exemplaar van een client. Dit patroon scheidt de definitie en instantiëring van de client van de werking, waardoor de client onveranderbaar en daardoor gemakkelijker te gebruiken is. Daarnaast volgen alle clientbibliotheken enkele belangrijke patronen:

  • Clientbibliotheken die ondersteuning bieden voor zowel synchrone als asynchrone API's, moeten deze API's in afzonderlijke klassen aanbieden. Dit betekent dat er in dergelijke gevallen bijvoorbeeld een is voor synchronisatie-API's en KeyVaultClient een KeyVaultAsyncClient voor asynchrone API's.

  • Er is één bouwerklasse die verantwoordelijk is voor het bouwen van zowel de synchronisatie- als asynchrone API's. De builder krijgt een vergelijkbare naam als de synchronisatieclientklasse, inclusief Builder . Bijvoorbeeld KeyVaultClientBuilder. Deze builder beschikt over buildClient() - buildAsyncClient() en -methoden om waar nodig client-exemplaren te maken.

Vanwege deze conventies zijn alle klassen die eindigen op Client onveranderbaar en bieden ze bewerkingen voor interactie met een Azure-service. Alle klassen die eindigen op ClientBuilder bieden bewerkingen voor het configureren en maken van een exemplaar van een bepaald clienttype.

Voorbeeld van clientbibliotheken

In het volgende codevoorbeeld ziet u hoe u een synchrone KeyClient Key Vault:

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

In het volgende codevoorbeeld ziet u hoe u een asynchrone KeyAsyncClient Key Vault:

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

Zie het README.md-bestand in de projectmap van de bibliotheek in de SDK-opslagplaats GitHub voor meer informatie over het werken met elke clientbibliotheek. U kunt ook meer codefragmenten vinden in de referentiedocumentatie en de Azure-voorbeelden.

Azure-resources inrichten en beheren met beheerbibliotheken

Met de beheerbibliotheken (of 'beheervlak') kunt u Azure-resources maken, inrichten en anderszins beheren vanuit Java-toepassingscode. U vindt deze bibliotheken in de com.azure.resourcemanager Maven-groeps-id. Alle Azure-services hebben bijbehorende beheerbibliotheken.

Met de beheerbibliotheken kunt u configuratie- en implementatiescripts schrijven om dezelfde taken uit te voeren als via de Azure Portal of de Azure CLI.

Alle Azure Java-beheerbibliotheken bieden een klasse als service-API, bijvoorbeeld voor *Manager azure compute-service of voor de ComputeManagerAzureResourceManager aggregatie van populaire services.

Voorbeeld van beheerbibliotheken

In het volgende codevoorbeeld ziet u hoe u een ComputeManager maakt:

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

In het volgende codevoorbeeld ziet u hoe u een nieuwe virtuele machine inrichten:

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();

In het volgende codevoorbeeld ziet u hoe u een bestaande virtuele machine op kunt halen:

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

In het volgende codevoorbeeld ziet u hoe u de virtuele machine bij kunt werken en een nieuwe gegevensschijf kunt toevoegen:

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

Zie het README.md-bestand in de projectmap van de bibliotheek in de SDK-opslagplaats GitHub voor meer informatie over het werken met elke beheerbibliotheek. U kunt ook meer codefragmenten vinden in de referentiedocumentatie en de Azure-voorbeelden.

Hulp vragen en verbinding maken met het SDK-team

Volgende stappen

Nu u begrijpt wat de Azure SDK voor Java is, kunt u dieper in op veel van de algemene concepten die bestaan om u productief te maken bij het gebruik van de bibliotheken. De volgende artikelen bieden goede uitgangspunten: