適用於 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 正在更新,以共享常見的雲端模式,如認證協定、日誌、追蹤、傳輸協定、緩衝回應與重試。
- 此共用功能包含在 azure-core 函式庫 中。
- 欲了解更多適用於圖書館的指導方針,請參閱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 portal 或 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 小組連線
- 請瀏覽 Azure SDK for Java 文件。
- 在 Stack Overflow 上張貼問題給社群。
- 在 GitHub 存放庫中開啟有關 SDK 的問題,。
- 在推特上提及 @AzureSDK。
後續步驟
既然你已經了解 Java 的 Azure SDK,請探索許多跨領域概念,幫助你在使用函式庫時提高生產力。 下列文章提供良好的起點: