如何使用httpclient API删除Azure datalake Store中的目录

时间:2017-10-23 07:30:06

标签: azure azure-storage azure-data-lake

我可以使用httpclient API删除Azure中的文件,但是如何使用httpclient API删除Azure的datalake Store中的目录?

文件删除代码

     private const string DeleteUrl = "https://{0}.azuredatalakestore.net/webhdfs/v1/{1}?op=DELETE";

public string DeleteFile(string path)
        {
            var deleteUrl = string.Format(DeleteUrl, _datalakeAccountName, path);
            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accesstoken.access_token);
                var res = client.DeleteAsync(deleteUrl).Result;
                var data = res.Content.ReadAsStringAsync().Result;
                return data;
            }
        }

1 个答案:

答案 0 :(得分:1)

  

但我怎么能如何使用httpclient API删除Azure datalake Store中的目录

请尝试使用以下网址删除目录

 private const string DeleteUrl = "https://{0}.azuredatalakestore.net/webhdfs/v1/{1}?api-version=2017-08-01&op=DELETE&recursive=true";

如果recursive=true那么将删除目录中的所有文件包括目录本身。

如果recursive=false并且目录中有文件将会出现403禁止错误。

enter image description here