Korzystanie z zestawu Azure SDK dla języka Java

Zestaw Sdk platformy Azure typu open source dla języka Java upraszcza aprowizowanie i zarządzanie zasobami platformy Azure z poziomu kodu aplikacji Java oraz zarządzanie nimi.

Ważne informacje

  • Biblioteki platformy Azure to sposób komunikowania się z usługami platformy Azure z poziomu kodu Java uruchamianego lokalnie lub w chmurze.
  • Biblioteki obsługują język Java 8 lub nowszy i są testowane zarówno pod kątem punktu odniesienia java 8, jak i najnowszej wersji środowiska Java "długoterminowej pomocy technicznej".
  • Biblioteki obejmują pełną obsługę modułu Java, co oznacza, że są one w pełni zgodne z wymaganiami modułu Java i eksportują wszystkie odpowiednie pakiety do użycia.
  • Zestaw Azure SDK dla języka Java składa się wyłącznie z wielu pojedynczych bibliotek Java, które odnoszą się do określonych usług platformy Azure. W zestawie SDK nie ma żadnych innych narzędzi.
  • Istnieją różne biblioteki "zarządzanie" i "klient" (czasami nazywane "płaszczyzną zarządzania" i "płaszczyzną danych"). Każdy zestaw służy do różnych celów i jest używany przez różne rodzaje kodu. Aby uzyskać więcej informacji, zobacz następujące sekcje w dalszej części tego artykułu:
  • Dokumentację bibliotek można znaleźć w dokumentacji platformy Azure for Java Reference zorganizowanej przez usługę platformy Azure lub w przeglądarce interfejsu API Języka Java zorganizowanej według nazwy pakietu.

Inne szczegóły

  • Zestaw Azure SDK dla bibliotek Języka Java opiera się na podstawowym interfejsie API REST platformy Azure, co umożliwia korzystanie z tych interfejsów API za pomocą znanych paradygmatów języka Java. Jednak zawsze możesz użyć interfejsu API REST bezpośrednio z poziomu kodu Java, jeśli wolisz.
  • Kod źródłowy bibliotek platformy Azure można znaleźć w repozytorium GitHub. W ramach projektu open source współtworzenie jest mile widziane!
  • Obecnie aktualizujemy zestaw Azure SDK dla bibliotek Języka Java, aby współużytkować typowe wzorce chmury, takie jak protokoły uwierzytelniania, rejestrowanie, śledzenie, protokoły transportu, buforowane odpowiedzi i ponawianie prób.
  • Aby uzyskać więcej informacji na temat wytycznych dotyczących bibliotek, zobacz Wytyczne dotyczące projektowania zestawu Sdk platformy Azure dla języka Java.

Obsługiwane platformy dla zestawu Azure SDK dla języka Java

Zestaw Azure SDK dla języka Java jest dostarczany z obsługą języka Java 8 i nowszych, ale zalecamy, aby deweloperzy zawsze używali najnowszej wersji długoterminowej obsługi języka Java (LTS) podczas opracowywania i wydawania do środowiska produkcyjnego. Użycie najnowszej wersji LTS zapewnia dostępność najnowszych ulepszeń w języku Java, w tym poprawek błędów, ulepszeń wydajności i poprawek zabezpieczeń. Ponadto zestaw Azure SDK dla języka Java obejmuje dodatkową obsługę nowszych wersji języka Java. Ta dodatkowa obsługa zwiększa wydajność i obejmuje ulepszenia specyficzne dla zestawu JDK poza obsługiwanym punktem odniesienia języka Java 8.

Zestaw Azure SDK dla języka Java jest testowany i obsługiwany w systemach Windows, Linux i macOS. Nie jest testowany na innych platformach, które obsługuje zestaw JDK i nie obsługuje wdrożeń systemu Android. Deweloperzy, którzy chcą opracowywać oprogramowanie do wdrażania na urządzeniach z systemem Android i które korzystają z usług platformy Azure, dostępne są biblioteki specyficzne dla systemu Android w projekcie zestawu Azure SDK dla systemu Android .

Połączenie do zasobów platformy Azure i korzystania z nich z bibliotekami klienta

Biblioteki klienta (lub "płaszczyzny danych") ułatwiają pisanie kodu aplikacji Java w celu interakcji z już aprowizowanymi usługami. Biblioteki klienckie istnieją tylko dla tych usług, które obsługują interfejs API klienta. Można je zidentyfikować, ponieważ ich identyfikator grupy Maven to com.azure.

Wszystkie biblioteki klienckie Języka Java platformy Azure są zgodne z tym samym wzorcem projektowania interfejsu API, który oferuje klasę konstruktora języka Java, która jest odpowiedzialna za tworzenie wystąpienia klienta. Ten wzorzec oddziela definicję i wystąpienie klienta od jego operacji, dzięki czemu klient może być niezmienny i w związku z tym łatwiejszy w użyciu. Ponadto wszystkie biblioteki klienckie są zgodne z kilkoma ważnymi wzorcami:

  • Biblioteki klienckie, które obsługują zarówno synchroniczne, jak i asynchroniczne interfejsy API, muszą oferować te interfejsy API w oddzielnych klasach. Oznacza to, że w tych przypadkach wystąpią na przykład KeyVaultClient interfejsy API synchronizacji i KeyVaultAsyncClient interfejsy API asynchroniczne.

  • Istnieje jedna klasa konstruktora, która ponosi odpowiedzialność za tworzenie zarówno synchronizacji, jak i asynchronicznych interfejsów API. Konstruktor ma nazwę podobną do klasy klienta synchronizacji z dołączonym elementem Builder . Na przykład KeyVaultClientBuilder. Ten konstruktor ma buildClient() metody i buildAsyncClient() do tworzenia wystąpień klienta odpowiednio.

Ze względu na te konwencje wszystkie klasy kończące się na Client tabeli są niezmienne i zapewniają operacje interakcji z usługą platformy Azure. Wszystkie klasy kończące się na ClientBuilder udostępnianiu operacji konfigurowania i tworzenia wystąpienia określonego typu klienta.

Przykład bibliotek klienckich

W poniższym przykładzie kodu pokazano, jak utworzyć synchroniczną usługę Key Vault KeyClient:

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

W poniższym przykładzie kodu pokazano, jak utworzyć asynchroniczną usługę Key Vault KeyAsyncClient:

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

Aby uzyskać więcej informacji na temat pracy z każdą biblioteką klienta, zobacz plik README.md znajdujący się w katalogu projektu biblioteki w repozytorium GitHub zestawu SDK. Więcej fragmentów kodu można również znaleźć w dokumentacji referencyjnej i przykładach platformy Azure.

Aprowizuj zasoby platformy Azure i zarządzaj nimi za pomocą bibliotek zarządzania

Biblioteki zarządzania (lub "płaszczyzny zarządzania") ułatwiają tworzenie, aprowizację i zarządzanie zasobami platformy Azure za pomocą kodu aplikacji Java. Te biblioteki można znaleźć w identyfikatorze com.azure.resourcemanager grupy Maven. Wszystkie usługi platformy Azure mają odpowiednie biblioteki zarządzania.

Za pomocą bibliotek zarządzania można pisać skrypty konfiguracji i wdrażania, aby wykonywać te same zadania, które można wykonać za pośrednictwem witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Wszystkie biblioteki zarządzania Java platformy Azure udostępniają klasę *Manager jako interfejs API usługi, na przykład ComputeManager dla usługi obliczeniowej platformy Azure lub AzureResourceManager agregację popularnych usług.

Przykład bibliotek zarządzania

W poniższym przykładzie kodu pokazano, jak utworzyć element ComputeManager:

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

W poniższym przykładzie kodu pokazano, jak aprowizować nową maszynę wirtualną:

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

W poniższym przykładzie kodu pokazano, jak uzyskać istniejącą maszynę wirtualną:

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

W poniższym przykładzie kodu pokazano, jak zaktualizować maszynę wirtualną i dodać nowy dysk danych:

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

Aby uzyskać więcej informacji na temat pracy z każdą biblioteką zarządzania, zobacz plik README.md znajdujący się w katalogu projektu biblioteki w repozytorium GitHub zestawu SDK. Więcej fragmentów kodu można również znaleźć w dokumentacji referencyjnej i przykładach platformy Azure.

Uzyskiwanie pomocy i nawiązywanie połączenia z zespołem zestawu SDK

  • Zapoznaj się z dokumentacją zestawu Azure SDK dla języka Java.
  • Publikuj pytania do społeczności w witrynie Stack Overflow.
  • Otwarte problemy dotyczące zestawu SDK w repozytorium GitHub.
  • Wzmianka @AzureSDK na Twitterze.

Następne kroki

Teraz, gdy już wiesz, czym jest zestaw Azure SDK dla języka Java, możesz szczegółowo zapoznać się z wieloma istniejącymi pojęciami, które pozwalają wydajnie korzystać z bibliotek. Następujące artykuły zawierają dobre punkty wyjścia: