使用適用於 Java 的 Azure SDK

適用於 Java 的開放原始碼 Azure SDK 可簡化 Java 應用程式程式碼的佈建、管理和使用 Azure 資源。

重要詳細資料

  • Azure 連結庫會說明如何從您在本機或雲端執行的 Java 程式代碼與 Azure 服務通訊。
  • 連結庫支援 Java 8 和更新版本,並針對 Java 8 基準和最新的 Java「長期支援」版本進行測試。
  • 連結庫包含完整的 Java 模組支援,這表示它們完全符合 Java 模組的需求,並匯出所有相關套件以供使用。
  • Azure SDK for Java 是由許多與特定 Azure 服務相關的個別 Java 連結庫所組成。 “SDK” 中沒有其他工具。
  • 有不同的「管理」和「用戶端」連結庫(有時稱為「管理平面」和「數據平面」連結庫)。 每個集合都有不同的用途,而且由不同類型的程式代碼使用。 如需詳細資訊,請參閱本文稍後的下列各節:
  • 您可以在 Azure for Java 參考中依 Azure 服務組織的連結庫,或依套件名稱組織的 Java API 瀏覽器,找到連結庫的檔。

其他詳細資料

  • 適用於 Java 的 Azure SDK 連結庫建置在基礎 Azure REST API 之上,可讓您透過熟悉的 Java 架構使用這些 API。 不過,如果您偏好的話,一律可以從 Java 程式代碼直接使用 REST API。
  • 您可以在 GitHub 存放庫中找到 Azure 連結庫的原始程式碼。 作為開放原始碼項目,歡迎參與!
  • 我們目前正在更新適用於 Java 的 Azure SDK 連結庫,以共用常見的雲端模式,例如驗證通訊協定、記錄、追蹤、傳輸通訊協定、緩衝回應和重試。
  • 如需我們套用至連結庫之指導方針的詳細資訊,請參閱 Java Azure SDK 設計指導方針

適用於 Java 的 Azure SDK 支持平臺

Azure SDK for Java 隨附於 Java 8 和更新版本的支援,但我們建議開發人員一律在開發中使用最新的 Java 長期支援 (LTS) 版本,並在發行至生產環境時使用。 使用最新的 LTS 版本可確保 Java 中最新改善的可用性,包括錯誤修正、效能改善和安全性修正。 此外,適用於 Java 的 Azure SDK 也包含後續 Java 版本的其他支援。 此額外支援可改善效能,並包含超過支援的 Java 8 基準的 JDK 特定增強功能。

Windows、Linux 和 macOS 上已測試及支援適用於 Java 的 Azure SDK。 它不會在 JDK 支援的其他平臺上進行測試,而且不支援 Android 部署。 對於想要在 Android 裝置上開發部署的軟體,以及使用 Azure 服務的開發人員,Azure SDK for Android 專案中有 Android 專屬的連結庫可供使用

連線 搭配用戶端連結庫使用 Azure 資源

用戶端(或「數據平面」)連結庫可協助您撰寫 Java 應用程式程式代碼,以與已布建的服務互動。 用戶端連結庫僅適用於支援用戶端 API 的服務。 您可以識別它們,因為它們的 Maven 群組識別碼是 com.azure

所有 Azure Java 用戶端連結庫都遵循相同的 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();

如需使用每個客戶端連結庫的詳細資訊,請參閱 SDK GitHub 存放庫中連結庫項目目錄中 README.md 檔案。 您也可以在參考檔和Azure 範例中找到更多代碼段。

使用管理連結庫布建和管理 Azure 資源

管理(或「管理平面」)連結庫可協助您從 Java 應用程式程式代碼建立、布建及管理 Azure 資源。 您可以在 Maven 群組識別碼中找到 com.azure.resourcemanager 這些連結庫。 所有 Azure 服務都有對應的管理連結庫。

透過管理連結庫,您可以撰寫組態和部署腳本,以執行您可以透過 Azure 入口網站Azure CLI 執行的相同工作。

所有 Azure Java 管理連結庫都會提供類別 *Manager 即服務 API,例如 Azure ComputeManager 計算服務,或 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();

如需使用每個管理連結庫的詳細資訊,請參閱 SDK GitHub 存放庫中連結庫項目目錄中 README.md 檔案。 您也可以在參考檔和Azure 範例中找到更多代碼段。

取得協助並與 SDK 小組連線

下一步

既然您已瞭解適用於 Java 的 Azure SDK 是什麼,您可以深入探討現有的許多跨領域概念,讓您在使用連結庫時提高生產力。 下列文章提供良好的起點: