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 szczegóły

  • Użyj bibliotek Azure do komunikowania się z usługami Azure z kodu Java uruchamianego lokalnie lub w chmurze.
  • Biblioteki obsługują Java 8 i nowszych i są testowane zarówno pod kątem wersji bazowej Java 8, jak i najnowszej wersji wsparcia długoterminowego Java.
  • 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. Zestaw SDK nie zawiera innych narzędzi.
  • SDK zawiera odrębne biblioteki do zarządzania i biblioteki klienckie (czasami nazywane bibliotekami płaszczyzny zarządzania i płaszczyzny 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 Azure dla Java Reference zorganizowanej przez usługę Azure lub w przeglądarce interfejsu API Java zorganizowanej według nazwy pakietu.

Inne szczegóły

  • Biblioteki Azure SDK dla języka Java są oparte na bazowym interfejsie API REST platformy Azure, dzięki czemu można korzystać z tych interfejsów API przy użyciu 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!
  • Azure SDK dla Java jest aktualizowany w celu udostępniania typowych wzorców chmury, takich jak protokoły uwierzytelniania, rejestrowanie, śledzenie, protokoły transportu, buforowane odpowiedzi i ponawianie prób.
    • Ta udostępniona funkcja jest zawarta w bibliotece azure-core.
  • Aby uzyskać więcej informacji na temat wytycznych stosowanych do bibliotek, zobacz wytyczne dotyczące projektowania Java Azure SDK.

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

Zestaw Azure SDK dla języka Java obsługuje środowisko Java 8 i nowsze wersje, ale podczas programowania i wdrażania na środowisko produkcyjne zawsze używaj najnowszej wersji Java z długoterminowym wsparciem (LTS). 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. W przypadku deweloperów, którzy chcą opracowywać oprogramowanie do wdrażania na urządzeniach z systemem Android i które korzystają z usług platformy Azure, w projekcie android dostępne są biblioteki specyficzne dla systemu Android.

Nawiązywanie połączenia z zasobami platformy Azure i korzystanie z nich za pomocą bibliotek klienckich

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 jest 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 tworzenie instancji klienta od sposobu jego użycia, dzięki czemu klient jest niezmienny i ł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. To wymaganie oznacza, że w takich przypadkach istnieje na przykład KeyVaultClient dla synchronicznych interfejsów API oraz KeyVaultAsyncClient dla asynchronicznych interfejsów API.

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

Ze względu na te konwencje wszystkie klasy kończące się na Client są niezmienne i zapewniają operacje interakcji z usługą platformy Azure. Wszystkie klasy kończące się na ClientBuilder zapewniają operacje 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 zestawu SDK na GitHubie . Więcej fragmentów kodu można również znaleźć w dokumentacji referencyjnej oraz Przykłady platformy Azure.

Twórz i zarządzaj zasobami platformy Azure za pomocą bibliotek zarządzania

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

Korzystając z bibliotek zarządzania, można pisać skrypty konfiguracji i wdrażania, aby wykonywać te same zadania, które można wykonać za pośrednictwem portalu Azure lub Azure CLI.

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 agregacji popularnych usług.

Przykład bibliotek zarządzania

W poniższym przykładzie kodu pokazano, jak utworzyć 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 każdej biblioteki w repozytorium GitHub zestawu SDK. Więcej fragmentów kodu można również znaleźć w dokumentacji referencyjnej oraz Przykłady platformy Azure.

Uzyskaj pomoc i skontaktuj się z zespołem SDK

Następne kroki

Teraz, gdy już wiesz, czym jest Azure SDK dla Java, zapoznaj się z wieloma pojęciami krzyżowymi, które pomagają wydajnie korzystać z bibliotek. Następujące artykuły zawierają dobre punkty wyjścia: