Freigeben über


Verwenden des Azure SDK für Java

Das Open-Source Azure SDK für Java vereinfacht die Bereitstellung, Verwaltung und Verwendung von Azure-Ressourcen aus Java-Anwendungscode.

Wichtige Details

  • Über die Azure-Bibliotheken kommunizieren Sie mit Azure-Diensten über Java-Code, den Sie entweder lokal oder in der Cloud ausführen.
  • Die Bibliotheken unterstützen Java 8 und höher und werden für die Java 8-Baseline und die neueste Java-Version („langfristige Unterstützung“) getestet.
  • Die Bibliotheken enthalten vollständige Java-Modulunterstützung, was bedeutet, dass sie vollständig den Anforderungen eines Java-Moduls entsprechen und alle relevanten Pakete zur Verwendung exportieren.
  • Das Azure SDK für Java besteht ausschließlich aus vielen einzelnen Java-Bibliotheken, die sich auf bestimmte Azure-Dienste beziehen. Es gibt keine anderen Tools im "SDK".
  • Es gibt unterschiedliche "Management"- und "Client"-Bibliotheken (manchmal auch als "Verwaltungsebene" und "Datenebene"-Bibliotheken bezeichnet). Jede Gruppe dient unterschiedlichen Zwecken und wird von einer anderen Art von Code genutzt. Weitere Informationen finden Sie weiter unten in diesem Artikel in den folgenden Abschnitten:
  • Dokumentationsmaterial zu den Bibliotheken finden Sie in der nach Azure-Dienst strukturierten Azure für Java-Referenz oder im nach Paketname strukturierten Java-API-Browser.

Weitere Details

  • Das Azure SDK für Java-Bibliotheken basiert auf der zugrunde liegenden Azure REST-API, sodass Sie diese APIs über vertraute Java-Paradigmen verwenden können. Sie können die REST-API jedoch immer direkt aus Java-Code verwenden, wenn Sie dies bevorzugen.
  • Sie finden den Quellcode für die Azure-Bibliotheken im GitHub-Repository. Als Open-Source-Projekt sind Beiträge willkommen!
  • Wir aktualisieren derzeit das Azure SDK für Java-Bibliotheken, um gemeinsame Cloudmuster wie Authentifizierungsprotokolle, Protokollierung, Ablaufverfolgung, Transportprotokolle, gepufferte Antworten und Wiederholungen zu teilen.
    • Diese gemeinsam genutzte Funktionalität ist in der Azure-Core--Bibliothek enthalten.
  • Weitere Informationen zu den Richtlinien, die wir für die Bibliotheken anwenden, finden Sie in den Java Azure SDK-Entwurfsrichtlinien.

Unterstützte Plattformen für Azure SDK für Java

Das Azure SDK für Java wird mit Unterstützung für Java 8 und höher ausgeliefert. Es wird jedoch empfohlen, dass Entwickler immer die neueste LtS-Version (Java Long-Term Support) in der Entwicklung und bei der Veröffentlichung in der Produktion verwenden. Durch die Verwendung der neuesten LTS-Version wird sichergestellt, dass die neuesten Verbesserungen in Java verfügbar sind, einschließlich Fehlerbehebungen, Leistungsverbesserungen und Sicherheitsupdates. Darüber hinaus enthält das Azure SDK für Java zusätzliche Unterstützung für spätere Versionen von Java. Diese zusätzliche Unterstützung verbessert die Leistung und umfasst JDK-spezifische Verbesserungen über die unterstützte Java 8-Basislinie hinaus.

Das Azure SDK für Java wird unter Windows, Linux und macOS getestet und unterstützt. Es wird nicht auf anderen Plattformen getestet, die das JDK unterstützt, und unterstützt keine Android-Bereitstellungen. Für Entwickler, die Software für die Bereitstellung auf Android-Geräten entwickeln möchten und die Azure-Dienste nutzen, stehen androidspezifische Bibliotheken im Azure SDK für Android Projekt zur Verfügung.

Verbinden mit und Verwenden von Azure-Ressourcen mit Clientbibliotheken

Mithilfe der Clientbibliotheken (oder "Datenebene") können Sie Java-Anwendungscode schreiben, um mit bereits bereitgestellten Diensten zu interagieren. Clientbibliotheken sind nur für dienste vorhanden, die eine Client-API unterstützen. Sie können sie identifizieren, da ihre Maven-Gruppen-ID com.azureist.

Alle Azure Java-Clientbibliotheken folgen dem gleichen API-Entwurfsmuster, das eine Java-Generator-Klasse anbietet, die für die Erstellung einer Instanz eines Clients verantwortlich ist. Dieses Muster trennt die Definition und Instanziierung des Clients von seinem Vorgang, sodass der Client unveränderlich und daher einfacher zu verwenden ist. Darüber hinaus folgen alle Clientbibliotheken einigen wichtigen Mustern:

  • Clientbibliotheken, die synchrone und asynchrone APIs unterstützen, müssen diese APIs in separaten Klassen anbieten. Dies bedeutet, dass in diesen Fällen beispielsweise eine KeyVaultClient für Synchronisierungs-APIs und eine KeyVaultAsyncClient für asynchrone APIs vorhanden wäre.

  • Es gibt eine einzelne Generatorklasse, die für das Erstellen der Synchronisierungs- und asynchronen APIs verantwortlich ist. Der Generator wird ähnlich wie die synchrone Clientklasse benannt, wobei Builder enthalten ist. Beispiel: KeyVaultClientBuilder. Dieser Builder verfügt über die Methoden buildClient() und buildAsyncClient(), um je nach Erfordernis Clientinstanzen zu erstellen.

Aufgrund dieser Konventionen sind alle Klassen, die auf Client enden, unveränderlich und bieten Vorgänge für die Interaktion mit einem Azure-Dienst. Alle Klassen, die in ClientBuilder enden, stellen Vorgänge bereit, um eine Instanz eines bestimmten Clienttyps zu konfigurieren und zu erstellen.

Clientbibliotheksbeispiel

Das folgende Codebeispiel zeigt, wie Sie einen synchronen Key Vault KeyClienterstellen:

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

Das folgende Codebeispiel zeigt, wie ein asynchroner Schlüsseltresor KeyAsyncClient erstellt wird:

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

Weitere Informationen zum Arbeiten mit den einzelnen Clientbibliotheken finden Sie in der Datei README.md, die sich im Projektverzeichnis der Bibliothek im GitHub-Repository des SDK befindet. Weitere Codeausschnitte finden Sie auch in der Referenzdokumentation und den Azure-Beispielen.

Bereitstellen und Verwalten von Azure-Ressourcen mit Verwaltungsbibliotheken

Mithilfe der Verwaltungsbibliotheken (oder "Verwaltungsebene") können Sie Azure-Ressourcen aus Java-Anwendungscode erstellen, bereitstellen und anderweitig verwalten. Sie finden diese Bibliotheken in der com.azure.resourcemanager Maven-Gruppen-ID. Alle Azure-Dienste verfügen über entsprechende Verwaltungsbibliotheken.

Mit den Verwaltungsbibliotheken können Sie Konfigurations- und Bereitstellungsskripts schreiben, um dieselben Aufgaben auszuführen, die Sie über das Azure-Portal oder die Azure CLIkönnen.

Alle Azure Java-Verwaltungsbibliotheken stellen eine *Manager Klasse als Dienst-API bereit, z. B. ComputeManager für Azure-Computedienst oder AzureResourceManager für die Aggregation beliebter Dienste.

Beispiel für Verwaltungsbibliotheken

Das folgende Codebeispiel zeigt, wie Sie einen ComputeManager erstellen:

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

Das folgende Codebeispiel zeigt, wie ein neuer virtueller Computer bereitgestellt wird:

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

Das folgende Codebeispiel zeigt, wie Sie einen vorhandenen virtuellen Computer abrufen:

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

Das folgende Codebeispiel zeigt, wie Sie den virtuellen Computer aktualisieren und einen neuen Datenträger hinzufügen:

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

Weitere Informationen zum Arbeiten mit den einzelnen Verwaltungsbibliotheken finden Sie in der Datei README.md, die sich im Projektverzeichnis der Bibliothek im GitHub-Repository des SDK befindet. Weitere Codebeispiele finden Sie auch in der Referenzdokumentation und in den Azure Samples.

Hilfe erhalten und Kontakt mit dem SDK-Team aufnehmen

Nächste Schritte

Nachdem Sie nun verstehen, was das Azure SDK für Java ist, können Sie sich mit vielen der querschnittsübergreifenden Konzepte vertraut machen, die sie bei der Verwendung der Bibliotheken produktiv machen. Die folgenden Artikel enthalten gute Ausgangspunkte: