共用方式為


使用 Java 向 Azure Data Lake Storage Gen2 進行服務對服務驗證

在本文中,您會了解如何使用 Java SDK 向 Azure Data Lake Storage Gen2 進行服務對服務驗證。 不支援使用 Java SDK 進行的向 Data Lake Storage Gen2 的終端使用者身份驗證。

先決條件

服務對服務驗證

  1. 從命令列或透過 IDE,使用 mvn 原型建立 Maven 專案。 如需有關如何使用 IntelliJ 建立 Java 專案的指示,請參閱這裡。 如需有關如何使用 Eclipse 建立專案的指示,請參閱這裡

  2. 將下列相依性新增至 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 繫結。 若要在應用程式中使用其他記錄選項,請參閱針對記錄宣告專案相依性

  3. 在應用程式中新增下列 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;
    
  4. 在您的 Java 應用程式中使用下列程式碼片段,來為您稍早使用 StorageSharedKeyCredential 的其中一個類別建立的 Active Directory Web 應用程式取得權杖 (下列範例使用 credential)。 權杖提供者會將用來取得權杖的認證快取起來,並將權杖存於記憶體中。如果權杖即將過期,會自動更新權杖。 您可以建立自己的 StorageSharedKeyCredential 子類別,以便讓您的客戶程式碼取得權杖。 現在,我們只要使用 SDK 中提供的那個即可。

    以 Microsoft Entra Web 應用程式的實際值取代 FILL-IN-HERE

    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 的下列文章。