Azure Data Lake Store 中的目录大小
Directory size in Azure Data Lake Store
是否有一个简单的 API 可以用来获取 ADLS 目录的大小?最好是 C# 中的东西,但这不是必须的。
是的,您可以使用 DataLakeStoreFileSystemManagementClient.FileSystem.GetContentSummary
:
var client = new DataLakeStoreFileSystemManagementClient(credentials);
ContentSummaryResult result = client.FileSystem.GetContentSummary(dataLakeAccount, path);
var dirSize = result.ContentSummary.Length;
我们可以使用 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测试过
是否有一个简单的 API 可以用来获取 ADLS 目录的大小?最好是 C# 中的东西,但这不是必须的。
是的,您可以使用 DataLakeStoreFileSystemManagementClient.FileSystem.GetContentSummary
:
var client = new DataLakeStoreFileSystemManagementClient(credentials);
ContentSummaryResult result = client.FileSystem.GetContentSummary(dataLakeAccount, path);
var dirSize = result.ContentSummary.Length;
我们可以使用 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测试过