我使用NodeJS' azure-storage'模块(版本:0.3.3)
我想获得有关azure存储blob服务的全局统计信息。
当然,我不会查询所有blob来手动计算使用的总存储量。
所以我认为使用blobService.getServiceStats
可以帮助我。但是这种方法会返回错误。
this.blobService.getServiceStats(function(error, result) {
if (error) {
console.info(error);
} else {
console.info(result);
}
});
导致以下错误:
{ [Error: Value for one of the query parameters specifie
RequestId:51b156a6-0001-002d-765f-b4ebd5000000
Time:2014-10-17T12:40:59.1246311Z]
code: 'InvalidQueryParameterValue',
queryparametername: 'comp',
queryparametervalue: 'stats',
reason: '',
statusCode: 400,
requestId: '51b156a6-0001-002d-765f-b4ebd5000000' }
此查询参数' comp = stats'似乎是由SDK本身设置的:blobservice.js line 156
出了什么问题?你认为我应该打开一个问题here吗?
你知道一种(工作)方式来获取全局blob统计数据吗?
问候
答案 0 :(得分:3)
我认为您误解了此操作的目的。此操作会告诉您有关blob存储帐户Geo Replication Status
的信息,而不是您为blob存储占用多少空间。来自获取服务统计信息的REST API文档:http://msdn.microsoft.com/en-us/library/azure/dn495326.aspx
Get Blob Service Stats操作检索与之相关的统计信息 Blob服务的复制。 仅适用于 读访问地理冗余复制时的辅助位置端点 已为存储帐户启用。
如果您对计算blob存储的存储大小感兴趣,那么您希望在存储帐户上启用存储分析。启用存储分析后,您可以查询$MetricsCapacityBlob
表以查找Blob存储大小。您可以在此处详细了解此表:http://msdn.microsoft.com/en-us/library/azure/hh343264.aspx。
现在说明您收到此错误的原因是此操作只能在您的存储帐户的secondary geo-location url [youraccountname]-secondary.blob.core.windows.net
上调用。我的猜测是,您只是采用标准设置,基本上尝试在primary storage url [youraccountname].blob.core.windows.net
上执行此操作。