使用 Java 向 Azure Data Lake Storage Gen2 進行服務對服務驗證
在本文中,您會了解如何使用 Java SDK 向 Azure Data Lake Storage Gen2 進行服務對服務驗證。 不支援向使用 Java SDK 的 Data Lake Storage Gen2 進行終端使用者驗證。
必要條件
Azure 訂用帳戶。 請參閱取得 Azure 免費試用。
建立 Microsoft Entra ID 「Web」 應用程式。 您必須使用 Microsoft Entra ID 完成服務對服務驗證中的步驟,Data Lake Storage Gen2。
Maven. 本教學課程使用 Maven 來處理組建和專案相依性。 雖有可能不使用 Maven 或 Gradle 等組建系統進行建置,但這些系統讓相依性管理變得輕鬆許多。
(選擇性) IntelliJ IDEA 或 Eclipse 或類似的 IDE。
服務對服務驗證
從命令列或透過 IDE,使用 mvn 原型建立 Maven 專案。 如需有關如何使用 IntelliJ 建立 Java 專案的指示,請參閱這裡。 如需有關如何使用 Eclipse 建立專案的指示,請參閱這裡。
將下列相依性新增至 Maven pom.xml 檔案。 將下列程式碼片段新增至 </project>> 標記之前:
<dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-storage-file-datalake</artifactId> <version>12.6.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.21</version> </dependency> </dependencies>
第一個相依性是使用來自 Maven 存放庫的 Data Lake Storage Gen2 SDK (
azure-storage-file-datalake
)。 第二個相依性是指定要用於此應用程式的記錄架構 (slf4j-nop
)。 Data Lake Storage Gen2 SDK 會使用 slf4j 記錄外觀,讓您從數個常用的記錄架構中進行選擇,例如 log4j、Java 記錄、logback,或是不記錄。 在此範例中,我們停用記錄,因此會使用 slf4j-nop 繫結。 若要在應用程式中使用其他記錄選項,請參閱針對記錄宣告專案相依性。在應用程式中新增下列 import 陳述式。
import com.azure.identity.ClientSecretCredential; import com.azure.identity.ClientSecretCredentialBuilder; import com.azure.storage.file.datalake.DataLakeDirectoryClient; import com.azure.storage.file.datalake.DataLakeFileClient; import com.azure.storage.file.datalake.DataLakeServiceClient; import com.azure.storage.file.datalake.DataLakeServiceClientBuilder; import com.azure.storage.file.datalake.DataLakeFileSystemClient; import com.azure.storage.file.datalake.models.ListPathsOptions; import com.azure.storage.file.datalake.models.PathAccessControl; import com.azure.storage.file.datalake.models.PathPermissions;
在您的 Java 應用程式中使用下列程式碼片段,來為您稍早使用
StorageSharedKeyCredential
的其中一個類別建立的 Active Directory Web 應用程式取得權杖 (下列範例使用credential
)。 權杖提供者會快取用來取得記憶體中權杖的認證,並自動更新即將過期的權杖。 您可以建立自己的StorageSharedKeyCredential
子類別,讓您的客戶程式碼可以取得權杖。 現在,我們只要使用 SDK 提供的子類別即可。將 FILL-IN-HERE 取代為 Microsoft Entra Web 應用程式的實際值。
private static String clientId = "FILL-IN-HERE"; private static String tenantId = "FILL-IN-HERE"; private static String clientSecret = "FILL-IN-HERE"; ClientSecretCredential credential = new ClientSecretCredentialBuilder().clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build();
Data Lake Storage Gen2 SDK 提供簡便的方法,讓您管理與 Data Lake Storage Gen2 帳戶互動所需的安全性權杖。 不過,SDK 並未強制只能使用這些方法。 您也可以使用任何其他方法來取得權杖,像是使用 Azure 身分識別用戶端程式庫,或您自己的自訂程式碼。
下一步
在本文中,您已了解如何使用終端使用者驗證,向使用 Java SDK 的 Data Lake Storage Gen2 進行驗證。 您現在可以看看討論如何使用 Java SDK 搭配 Data Lake Storage Gen2 的下列文章。