Nodejs Azure存储blob服务:getStats无法正常工作

时间:2014-10-17 12:48:14

标签: node.js azure statistics azure-storage-blobs azure-storage

我使用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统计数据吗?

问候

1 个答案:

答案 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上执行此操作。