我正在尝试从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后缀应该是不同的。
截至目前,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
取自Known issues with Azure Data Lake Storage Gen2
对Data Lake Storage Gen2帐户的SDK支持 没有适用于Data Lake Storage Gen2帐户的SDK。