共用方式為


使用 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 提供的子類別即可。

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