使用適用於 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 不包含其他工具。
  • SDK 擁有不同的「管理」與「用戶端」函式庫(有時稱為「管理平面」與「資料平面」函式庫)。 每個集合都有不同的用途,而且由不同類型的程式代碼使用。 如需詳細資訊,請參閱本文稍後的下列各節:
  • 你可以在依 Azure 服務分類的 Azure for Java 參考文件 中找到這些程式庫的說明文件,或在按套件名稱分類的 Java API 瀏覽器 中找到。

其他詳細數據

  • Azure SDK for Java 函式庫是建立在底層 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 服務的開發人員,適用於 Android 的 Azure SDK 專案中有 Android 特定連結庫可供使用。

連接到 Azure 資源並使用用戶端程式庫

用戶端(或「數據平面」)連結庫可協助您撰寫 Java 應用程式程式代碼,以與已布建的服務互動。 用戶端連結庫僅適用於支援用戶端 API 的服務。 您可以辨識出它們,因為它們的 Maven 群組 ID 是 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 資源。 您可以在 com.azure.resourcemanager Maven 群組識別碼中找到這些程式庫。 所有 Azure 服務都有對應的管理程式庫。

透過管理函式庫,你可以撰寫組態與部署腳本,執行與 Azure portalAzure CLI 相同的任務。

所有 Azure Java 管理程式庫都會提供 *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();

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

取得協助並與 SDK 小組連線

後續步驟

既然你已經了解 Java 的 Azure SDK,請探索許多跨領域概念,幫助你在使用函式庫時提高生產力。 下列文章提供良好的起點: