通过Azure功能连接到Azure Data Lake Gen 2

时间:2019-04-17 11:28:06

标签: c# .net azure azure-functions azure-data-lake

我正在尝试从Azure功能连接到Azure Data Lake Storage Gen2,以导入一些XML文件并将其转换为JSON。但是我的代码无法正常工作:

var creds = ApplicationTokenProvider.LoginSilentAsync(tenantId, applicationId, secretKey).Result;  
var adlsFileSystemClient = new DataLakeStoreFileSystemManagementClient(creds);
var result = adlsFileSystemClient.FileSystem.Open(adlsAccountName, "/Test/xml.xml");

这将返回错误:The remote name could not be resolved +“ azuredatalakestore.net”,而实际上DNS后缀应该是不同的。

2 个答案:

答案 0 :(得分:1)

到目前为止,ADLS Gen2尚不支持SDK,但是您可以使用ADLS Gen2 rest api来执行一些创建/读取/删除操作。

例如,您可以使用sas令牌身份验证来编写以下代码(或也可以使用shared key身份验证):

            string sasToken = "?sv=2018-03-28&ss=b&srt=sco&sp=rwdl&st=2019-04-15T08%3A07%3A49Z&se=2019-04-16T08%3A07%3A49Z&sig=xxxx";
            string url = "https://xxxx.dfs.core.windows.net/myfilesys1/app.JPG" + sasToken;
            var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));

            //you can specify the Method as per your operation as per the api doc
            req.Method = "HEAD"; 
            var res = (HttpWebResponse)req.GetResponse();

            //your other code

答案 1 :(得分:0)

来自Known issues with Azure Data Lake Storage Gen2

  

对Data Lake Storage Gen2帐户的SDK支持
  没有可用于Data Lake Storage Gen2帐户的SDK。