Share via


使用 .NET SDK 向 Azure Data Lake Storage Gen1 進行使用者驗證

在本文中,您會了解如何使用 .NET SDK 向 Azure Data Lake Storage Gen1 進行使用者驗證。 如需使用 .NET SDK 向 Data Lake Storage Gen1 進行服務對服務驗證,請參閱使用 .NET SDK 向 Data Lake Storage Gen1 進行服務對服務驗證

必要條件

建立 .NET 應用程式

  1. 在 Visual Studio 中,選取 [檔案] 功能表、[新增] 及 [專案]。

  2. 選擇 [主控台應用程式 (.NET Framework)],然後選取 [下一步]。

  3. 在 [專案名稱] 中,輸入 CreateADLApplication,然後選取 [建立]

  4. 將 NuGet 套件新增至您的專案。

    1. 在方案總管中以滑鼠右鍵按一下專案名稱,然後按一下 [ 管理 NuGet 封裝]。

    2. 在 [NuGet 套件管理員] 索引標籤中,確定 [套件來源] 設為 [nuget.org],且已選取 [包含發行前版本] 核取方塊。

    3. 搜尋並安裝下列 NuGet 封裝:

      • Microsoft.Azure.Management.DataLake.Store - 本教學課程使用 v2.1.3-preview。

      • Microsoft.Rest.ClientRuntime.Azure.Authentication - 本教學課程使用 v2.2.12。

        新增 NuGet 來源

    4. 關閉 [NuGet 套件管理員]。

  5. 開啟 Program.cs

  6. 使用以下幾行取代 using 陳述式:

    using System;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Collections.Generic;
    
    using Microsoft.Rest;
    using Microsoft.Rest.Azure.Authentication;
    using Microsoft.Azure.Management.DataLake.Store;
    using Microsoft.Azure.Management.DataLake.Store.Models;
    using Microsoft.IdentityModel.Clients.ActiveDirectory;
    

終端使用者驗證

在 .NET 用戶端應用程式中加入這個程式碼片段。 將佔位元元值取代為從 Microsoft Entra 原生應用程式擷取的值, (列為必要條件) 。 這個程式碼片段可讓您以互動方式向 Data Lake Storage Gen1 驗證應用程式,這表示系統會提示您輸入您的 Azure 認證。

為了方便使用,下列程式碼片段會使用對任何 Azure 訂用帳戶都有效的用戶端識別碼和重新導向 URI 的預設值。 在下列程式碼片段中,您只需要提供租用戶識別碼的值。 您可以使用取得租用戶識別碼所提供的指示,取得租用戶識別碼。

  • 使用下列程式碼來取代 Main() 函式:

    private static void Main(string[] args)
    {
        //User login via interactive popup
        string TENANT = "<AAD-directory-domain>";
        string CLIENTID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
        System.Uri ARM_TOKEN_AUDIENCE = new System.Uri(@"https://management.core.windows.net/");
        System.Uri ADL_TOKEN_AUDIENCE = new System.Uri(@"https://datalake.azure.net/");
        string MY_DOCUMENTS = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
        string TOKEN_CACHE_PATH = System.IO.Path.Combine(MY_DOCUMENTS, "my.tokencache");
        var tokenCache = GetTokenCache(TOKEN_CACHE_PATH);
        var armCreds = GetCreds_User_Popup(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, tokenCache);
        var adlCreds = GetCreds_User_Popup(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, tokenCache);
    }
    

上面這個程式碼片段有幾項須知:

  • 前述程式碼片段會使用協助程式函式 GetTokenCacheGetCreds_User_Popup。 從 GitHub 即可取得這些協助程式函式的程式碼。
  • 為了協助您更快完成本教學課程,此程式碼片段使用所有 Azure 訂用帳戶預設可用的原生應用程式用戶端識別碼。 因此,您可以在應用程式中原封不動地使用此程式碼片段
  • 不過,如果您想要使用自己的 Microsoft Entra 網域和應用程式用戶端標識符,您必須建立 Microsoft Entra 原生應用程式,然後使用您所建立應用程式的 Microsoft Entra 租使用者標識碼、用戶端識別符和重新導向 URI。 如需相關指示,請參閱建立 Active Directory 應用程式以向 Data Lake Storage Gen1 進行使用者驗證

下一步

在本文中,您已了解如何使用 .NET SDK,使用使用者驗證向 Azure Data Lake Storage Gen1 進行驗證。 您現在可以看看下列文章,了解如何配合使用 .NET SDK 與 Azure Data Lake Storage Gen1。