Verwenden des Azure SDK für Java
Das Open-Source-basierte Azure SDK für Java vereinfacht die Bereitstellung, Verwaltung und Verwendung von Azure-Ressourcen über 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 Unterstützung für Java-Module, was bedeutet, dass sie vollständig mit den Anforderungen eines Java-Moduls kompatibel sind und alle relevanten Pakete für die Verwendung exportieren.
- Im Azure SDK für Java sind zahlreiche einzelne Java-Bibliotheken enthalten, die sich auf bestimmte Azure-Dienste beziehen. Das SDK enthält keine weiteren Tools.
- Es gibt getrennte „Verwaltungs“- und „Client“-Bibliotheken (manchmal auch als Bibliotheken der „Verwaltungsebene“ bzw. „Datenebene“ 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.
Sonstige Details
- Da das SDK für Java-Bibliotheken auf der zugrunde liegenden Azure-REST-API basiert, können diese APIs mit vertrauten Java-Paradigmen verwendet werden. Sie können die REST-API aber auch immer direkt aus Java-Code heraus verwenden, wenn dies gewünscht wird.
- Der Quellcode für die Azure-Bibliotheken steht im GitHub-Repository zur Verfügung. Da es sich um ein Open-Source-Projekt handelt, sind Beiträge herzlich willkommen.
- Die Bibliotheken des Azure SDK für Java werden momentan mit allgemeinen Cloudmustern wie Authentifizierungsprotokollen, Protokollierung, Ablaufverfolgung, Transportprotokollen, gepufferten Antworten und Wiederholungen aktualisiert.
- Diese gemeinsam genutzten Funktionen sind in der Bibliothek azure-core enthalten.
- Weitere Informationen zu den Richtlinien, die wir auf die Bibliotheken anwenden, finden Sie in den Java Azure SDK-Entwurfsrichtlinien.
Unterstützte Plattformen für das Azure SDK für Java
Das Azure SDK für Java bietet standardmäßig Unterstützung für Java 8 und höhere Versionen. Es wird jedoch empfohlen, dass Entwickler immer das neueste LTS-Release (Long-Term Support, langfristige Unterstützung) von Java in der Entwicklung und bei der Veröffentlichung in der Produktion verwenden. Durch die Verwendung des aktuellen LTS-Release wird die Verfügbarkeit der neuesten Verbesserungen in Java sichergestellt, einschließlich Fehlerbehebungen, Leistungsverbesserungen und Sicherheitskorrekturen. Darüber hinaus bietet 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, die über die unterstützte Java 8-Baseline hinausgehen.
Das Azure SDK für Java wurde getestet und wird unter Windows, Linux und macOS unterstützt. Es wurde nicht auf anderen Plattformen getestet, die das JDK unterstützt, und es unterstützt keine Android-Bereitstellungen. Für Entwickler, die Software für die Bereitstellung auf Android-Geräten entwickeln möchten, die Azure-Dienste nutzen, stehen im Projekt Azure SDK für Android für Android spezifische Bibliotheken zur Verfügung.
Verbinden mit und Verwenden von Azure-Ressourcen mit Clientbibliotheken
Die Clientbibliotheken (oder die „Datenebene“) helfen Ihnen beim Schreiben von Java-Anwendungscode, um mit bereits bereitgestellten Diensten zu interagieren. Clientbibliotheken sind nur für Dienste mit Client-API-Unterstützung vorhanden. Sie können sie identifizieren, weil ihre Maven-Gruppen-ID com.azure
lautet.
Alle Azure Java-Clientbibliotheken befolgen das gleiche API-Entwurfsmuster wie eine Java-Generator-Klasse, die für das Erstellen einer Instanz eines Clients zuständig ist. Dieses Muster trennt die Definition und Instanziierung des Clients von seinem Vorgang, sodass der Client unveränderlich und somit einfacher zu verwenden ist. Außerdem 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 ein
KeyVaultClient
für synchrone APIs und einKeyVaultAsyncClient
für asynchrone APIs vorhanden ist.Es gibt eine einzige Generator-Klasse, die für die Erstellung der synchronen und asynchronen APIs zuständig ist. Der Generator wird ähnlich wie die synchrone Clientklasse benannt, wobei
Builder
enthalten ist. Beispiel:KeyVaultClientBuilder
. Dieser Generator verfügt überbuildClient()
- undbuildAsyncClient()
-Methoden zum Erstellen von entsprechenden Clientinstanzen.
Aufgrund dieser Konventionen sind alle Klassen, die mit Client
enden, unveränderlich und stellen Vorgänge für die Interaktion mit einem Azure-Dienst bereit. Alle Klassen, die mit ClientBuilder
enden, stellen Vorgänge bereit, um eine Instanz eines bestimmten Clienttyps zu konfigurieren und zu erstellen.
Clientbibliotheksbeispiel
Das folgende Codebeispiel zeigt, wie ein synchroner Schlüsseltresor KeyClient
erstellt wird:
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 stehen in der Referenzdokumentation sowie in den Azure-Beispielen zur Verfügung.
Bereitstellen und Verwalten von Azure-Ressourcen mit Verwaltungsbibliotheken
Die Verwaltungsbibliotheken (oder die „Verwaltungsebene“) helfen Ihnen beim Erstellen, Bereitstellen und anderweitigen Verwalten von Azure-Ressourcen über Java-Anwendungscode. Diese Bibliotheken finden Sie in der Maven-Gruppen-ID com.azure.resourcemanager
. 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 auch über das Azure-Portal oder mithilfe der Azure CLI durchführen können.
Alle Azure Java-Verwaltungsbibliotheken stellen eine *Manager
-Klasse als Dienst-API bereit, z. B. ComputeManager
für den Azure-Computedienst oder AzureResourceManager
für die Aggregation beliebter Dienste.
Verwaltungsbibliotheksbeispiel
Das folgende Codebeispiel zeigt, wie Sie einen ComputeManager
erstellen:
ComputeManager computeManager = ComputeManager
.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE));
Im folgenden Codebeispiel wird gezeigt, wie Sie einen neuen virtuellen Computer bereitstellen:
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();
Im folgenden Codebeispiel wird gezeigt, wie Sie einen vorhandenen virtuellen Computer abrufen:
VirtualMachine virtualMachine = computeManager.virtualMachines()
.getByResourceGroup(<your resource group>, <your virtual machine>);
Im folgenden Codebeispiel wird gezeigt, wie der virtuelle Computer aktualisiert und ein neuer Datenträger hinzugefügt wird:
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 Codeausschnitte stehen in der Referenzdokumentation sowie in den Azure-Beispielen zur Verfügung.
Hilfe erhalten und das SDK-Team kontaktieren
- Besuchen Sie die Dokumentation zum Azure SDK für Java.
- Stellen Sie in Stack Overflow Fragen an die Community.
- Öffnen Sie Issues mit dem SDK im GitHub-Repository.
- Erwähnen Sie @AzureSDK auf Twitter.
Nächste Schritte
Nachdem Sie nun wissen, was das Azure SDK für Java ist, können Sie sich detaillierte Einblicke in viele der übergreifenden Konzepte verschaffen, die für Produktivität bei der Verwendung der Bibliotheken verfügbar sind. Die folgenden Artikel bieten gute Ausgangspunkte: