我们使用 Azure 存储来存储大量小文件(每个文件约 200 字节)。这些文件中的每一个都位于 block blob 上。如果我将 1000 个此类文件存储在单独的 block blob 上,那么我的存储使用量是多少:1000 * 200 = 200KB 或 1000 * 4MB( block blob 大小)= 4GB?存储仪表板上有很多信息,但我找不到任何有关已用总空间的信息。
最佳答案
大小为 200KB(所有文件的总大小)。
关于查找这些文件占用的空间总大小,您可以利用存储分析。 Blob 存储大小信息存储在 $MetricsCapacityBlob
表中(请注意,这是一个特殊的表,当您尝试列出存储帐户中的表时,该表不会包含在结果中)。您可以在此处找到有关此表架构的更多信息: https://msdn.microsoft.com/en-us/library/azure/hh343264.aspx .
如果您使用 .Net 存储客户端库,您可以使用以下代码查找日期的 Blob 存储大小:
var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true);
var cloudAnalyticsClient = account.CreateCloudAnalyticsClient();
var yesterday = DateTime.UtcNow.AddDays(-1).Date;
var query = cloudAnalyticsClient.CreateCapacityQuery().Where(f => f.PartitionKey == yesterday.ToString("yyyyMMddT0000") && f.RowKey == "data").AsTableQuery();
var queryResult = cloudAnalyticsClient.GetCapacityTable().ExecuteQuery(query);
foreach (var item in queryResult)
{
Console.WriteLine(item.PartitionKey + " : " + item.RowKey + " : " + ((double)item.Capacity / (1024 * 1024 * 1024)) + " GB");
}
关于azure - Azure 存储的 block Blob 上的小文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35153656/