共用方式為


使用適用於 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 服務組織的 Azure for Java 參考資料 中找到程式庫的文件,或在依套件名稱組織的 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 服務的開發人員,適用於 Android 的 Azure SDK 專案中有 Android 特定連結庫可供使用。

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

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

所有 Azure Java 用戶端連結庫都遵循相同的 API 設計模式,提供負責建立用戶端實例的 Java 建立器類別。 此模式會分隔用戶端的定義和具現化與其作業,讓用戶端不可變,因此更容易使用。 此外,所有用戶端連結庫都遵循一些重要的模式:

  • 支援同步和異步 API 的用戶端連結庫必須在不同的類別中提供這些 API。 這表示,在這些情況下,舉例來說,會有同步 API 的 KeyVaultClient 和異步 API 的 KeyVaultAsyncClient

  • 有單一產生器類別負責建置同步處理和異步 API。 這個建立器的名稱與同步客戶端類別相似,並包含 Builder。 例如,KeyVaultClientBuilder。 此產生器有 buildClient()buildAsyncClient() 方法來適當地建立用戶端實例。

由於這些慣例,所有以 Client 結尾的類別都是固定的,並提供與 Azure 服務互動的作業。 所有以 ClientBuilder 結尾的類別都會提供作業,以設定及建立特定用戶端類型的實例。

用戶端程式庫範例

下列程式碼範例顯示如何建立同步的 Key Vault KeyClient

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

下列程式碼範例顯示如何建立非同步 Key Vault 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 入口網站Azure 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 是什麼,您可以深入探討現有的許多跨領域概念,讓您在使用連結庫時提高生產力。 下列文章提供良好的起點: