使用適用於 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 連結庫,以共用常見的雲端模式,例如驗證通訊協定、記錄、追蹤、傳輸通訊協定、緩衝回應和重試。
- 此共用功能包含在 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。 這表示,在這些情況下,舉例來說,會有同步 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 小組連線
- 請瀏覽 Azure SDK for Java 文件。
- 在 Stack Overflow 上張貼問題給社群。
- 在 GitHub 存放庫中開啟有關 SDK 的問題,。
- 在推特上提及 @AzureSDK。
後續步驟
既然您已瞭解適用於 Java 的 Azure SDK 是什麼,您可以深入探討現有的許多跨領域概念,讓您在使用連結庫時提高生產力。 下列文章提供良好的起點: