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

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

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

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

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

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

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

Azure SDK для 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 и управление ими с помощью библиотек управления

Библиотеки управления (или "management plane") помогают создавать, подготавливать и иным образом управлять ресурсами 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

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

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