是否有一个简单的API可用于获取ADLS目录的大小?最好用C#中的东西,但这不是必须的。
答案 0 :(得分:3)
我们可以使用Get Content Summary of a Directory REST API来做到这一点。
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETCONTENTSUMMARY"
C#代码演示
var url = "https://tomdatalake.azuredatalakestore.net/webhdfs/v1/tomtest?api-version=2017-08-01&op=GETCONTENTSUMMARY";
var token = "eyJ0eX.....";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var result = client.GetAsync(url).Result;
var data = result.Content.ReadAsStringAsync().Result;
}
我也用PostMan测试它。
答案 1 :(得分:2)
是的,您可以使用DataLakeStoreFileSystemManagementClient.FileSystem.GetContentSummary
:
var client = new DataLakeStoreFileSystemManagementClient(credentials);
ContentSummaryResult result = client.FileSystem.GetContentSummary(dataLakeAccount, path);
var dirSize = result.ContentSummary.Length;