无法连接到Azure DataLake Storage第1代,禁止错误

时间:2019-04-27 13:31:13

标签: .net azure azure-active-directory azure-data-lake

我正在使用.net4.8。 我需要连接到Azure Data Lake Storage Gen1。

我在github上找到以下示例: https://github.com/Azure-Samples/data-lake-store-adls-dot-net-get-started/

现在拥有Azure帐户:

enter image description here

已注册的新应用程序,获取了应用程序ID,tenantId,客户密码 enter image description here

// Obtain AAD token
        var creds = new ClientCredential(applicationId, clientSecret);
        var clientCreds = ApplicationTokenProvider.LoginSilentAsync(tenantId, creds).GetAwaiter().GetResult();

        // Create ADLS client object
        AdlsClient client = AdlsClient.CreateClient(adlsAccountFQDN, clientCreds);

        try
        {
            string fileName = "/test/xyz.txt";


            //Read file contents
            using (var readStream = new StreamReader(client.GetReadStream(fileName)))
            {
                string line;
                while ((line = readStream.ReadLine()) != null)
                {
                    Console.WriteLine(line);
                }
            }





        }

使用行(var readStream = new StreamReader(client.GetReadStream(fileName)))             {引发异常:

enter image description here

enter image description here

xyz.txt在根目录以及/test/xyz.txt中均可用。

如何解决此异常?

1 个答案:

答案 0 :(得分:0)

这显然是权限问题。您是否已按照下面的屏幕快照添加了应用程序以访问数据湖,所以必须提供服务到服务的身份验证。

enter image description here

enter image description here

请确保检查以下线程以确保您具有正确的特权:

https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-service-to-service-authenticate-using-active-directory

对我有用。尝试一下,看看是否有帮助,否则将带您进行调试。