Поделиться через


Использование пакета SDK Azure для Java

Пакет SDK Azure с открытым кодом для Java упрощает подготовку, управление и использование ресурсов Azure из кода приложения Java.

Важные сведения

  • Библиотеки Azure предоставляют способ взаимодействия со службами Azure из кода Java, выполняемого локально или в облаке.
  • Библиотеки поддерживают Java 8 и более поздние версии, и тестируются как на базовой платформе Java 8, так и на последней версии Java с долгосрочной поддержкой.
  • Библиотеки включают полную поддержку модуля Java, что означает, что они полностью соответствуют требованиям модуля Java и экспортируют все соответствующие пакеты для использования.
  • Пакет SDK Azure для Java состоит исключительно из многих отдельных библиотек Java, относящихся к определенным службам Azure. В пакете SDK нет других средств.
  • Существуют различные библиотеки управления и клиента (иногда называются библиотеками плоскости управления и плоскости данных). Каждый набор служит различным целям и используется различными видами кода. Дополнительные сведения см. в следующих разделах ниже в этой статье:
  • Документацию по библиотекам можно найти в справочнике по Azure для Java, организованной по службам Azure, или в браузере API Java , организованном по имени пакета.

Другие сведения

  • Пакет SDK Azure для библиотек Java основан на базовом REST API Azure, что позволяет использовать эти API через знакомые парадигмы Java. Однако при желании вы всегда можете использовать REST API непосредственно из кода Java.
  • Исходный код библиотек Azure можно найти в репозитории GitHub . Как проект с открытым исходным кодом, вклады приветствуются!
  • В настоящее время мы обновляем библиотеки Пакета SDK Azure для Java для совместного использования общих облачных шаблонов, таких как протоколы проверки подлинности, ведение журнала, трассировка, транспортные протоколы, буферированные ответы и повторные попытки.
    • Эта общая функция содержится в библиотеке azure-core.
  • Дополнительные сведения о рекомендациях, которые мы применяем к библиотекам, см. в руководствах по проектированию пакета Azure SDK для Java.

Поддерживаемые платформы для пакета SDK Azure для Java

Пакет SDK Azure для Java поставляется с поддержкой Java 8 и более поздних версий, но мы рекомендуем разработчикам всегда использовать последний выпуск долгосрочной поддержки Java (LTS) в разработке и при выпуске в рабочую среду. Использование последнего выпуска LTS обеспечивает доступность последних улучшений в Java, включая исправления ошибок, улучшения производительности и исправления безопасности. Кроме того, пакет SDK Azure для Java включает дополнительную поддержку для последующих выпусков Java. Эта дополнительная поддержка повышает производительность и включает улучшения JDK за пределами поддерживаемых базовых показателей Java 8.

Пакет SDK Azure для Java тестируется и поддерживается в Windows, Linux и macOS. Он не проверяется на других платформах, поддерживаемых JDK, и не поддерживает развертывания Android. Для разработчиков, желающих разрабатывать программное обеспечение для развертывания на устройствах Android и которые используют службы Azure, в проекте пакета SDK Azure для Android доступны библиотеки, относящиеся к Android.

Подключение и использование ресурсов Azure с клиентскими библиотеками

Библиотеки клиента (или плоскости данных) помогают создавать код приложения Java для взаимодействия с уже подготовленными службами. Клиентские библиотеки существуют только для тех служб, которые поддерживают клиентский API. Их можно определить, потому что их идентификатор группы Maven — com.azure.

Все клиентские библиотеки Java Azure соответствуют одному и тому же шаблону проектирования API, предлагая класс построителя Java, который отвечает за создание экземпляра клиента. Этот шаблон отделяет определение и создание экземпляра клиента от его операций, что позволяет клиенту быть неизменным и поэтому проще использовать. Кроме того, все клиентские библиотеки соответствуют нескольким важным шаблонам:

  • Клиентские библиотеки, поддерживающие синхронные и асинхронные API, должны предлагать эти API в отдельных классах. Это означает, что в этих случаях существовал бы, например, KeyVaultClient для API синхронизации и KeyVaultAsyncClient для асинхронных API.

  • Существует один класс построителя, который несет ответственность за создание как синхронных, так и асинхронных API. Билдер назван аналогично классу клиента синхронизации с включением Builder. Например, KeyVaultClientBuilder. Этот построитель имеет методы buildClient() и buildAsyncClient() для создания экземпляров клиента в соответствии с соответствующими параметрами.

Из-за этих соглашений все классы, заканчивающиеся Client, являются неизменяемыми и предоставляют операции для взаимодействия со службой Azure. Все классы, которые заканчиваются ClientBuilder предоставляют операции для настройки и создания экземпляра определенного типа клиента.

Пример клиентских библиотек

В следующем примере кода показано, как создать синхронное хранилище ключей KeyClient:

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

В следующем примере кода показано, как создать асинхронное хранилище ключей KeyAsyncClient:

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

Дополнительные сведения о работе с каждой клиентской библиотекой см. в файле README.md, расположенном в каталоге проекта библиотеки в репозитории sdk GitHub. Дополнительные фрагменты кода также можно найти в справочной документации и примерах Azure.

Подготовка ресурсов Azure и управление ими с помощью библиотек управления

Библиотеки управления (или плоскости управления) помогают создавать, подготавливать и управлять ресурсами Azure из кода приложения Java. Эти библиотеки можно найти в идентификаторе группы Maven com.azure.resourcemanager. Все службы Azure имеют соответствующие библиотеки управления.

С помощью библиотек управления можно написать скрипты конфигурации и развертывания, чтобы выполнять те же задачи, которые можно выполнять с помощью портала Azure или Azure CLI.

Все библиотеки управления Java Azure предоставляют класс *Manager как API службы, например ComputeManager для вычислительной службы Azure или AzureResourceManager для агрегирования популярных служб.

Пример библиотек управления

В следующем примере кода показано, как создать ComputeManager:

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

В следующем примере кода показано, как подготовить новую виртуальную машину:

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

В следующем примере кода показано, как получить существующую виртуальную машину:

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

В следующем примере кода показано, как обновить виртуальную машину и добавить новый диск данных:

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

Дополнительные сведения о работе с каждой библиотекой управления см. в файле README.md, расположенном в каталоге проекта библиотеки в репозитории GitHub SDK. Дополнительные фрагменты кода также можно найти в справочной документации и примерах Azure.

Получите помощь и свяжитесь с командой SDK

Дальнейшие действия

Теперь, когда вы понимаете, что такое пакет SDK Azure для Java, вы можете подробно ознакомиться со многими разными понятиями, которые существуют, чтобы сделать вас продуктивными при использовании библиотек. В следующих статьях приведены хорошие отправные точки: