【问题标题】:Azure Storage Account Blobs container sizeAzure 存储帐户 Blob 容器大小
【发布时间】:2019-03-08 20:51:10
【问题描述】:

有没有一种方法可以获取存储帐户 blob 容器中 blob 的总大小,而无需对其进行迭代并对长度求和?

最好来自 Java API 或 CLI。

我们需要定期获取最新的大小,并且容器中会有大量的 blob,并且我们会有很多容器,因此每次都迭代 blob 来实现是不可行的获取尺寸。

【问题讨论】:

  • 对于cli,可以参考这个link,但是不能使用bc命令接缝。
  • 是的,尽管它会遍历 blobs 列表并且 bc 是对每个 blob 的长度求和。对于我们的目的而言,这花费的时间太长,并且定期执行此操作将花费大量的读取量。
  • @Clive 你能接受结束你的问题的答案吗?

标签: java azure azure-storage azure-blob-storage


【解决方案1】:

恐怕无法绕过 blob 列表和汇总操作来获取容器的大小(即其中的 blob)。所有的 SDK 都是基于REST API,其中包括所有暴露给我们的操作接口。根据这些 API,我们只能获取 blob 列表并总结它们的内容长度。

查看官方示例。 Azure 门户上有一个Calculate size,右键单击我们的容器并单击Container properties,我们可以看到如下面板。尝试捕捉http流量,我们可以看到它调用了list blob操作。 Learn more 链接显示了一个 powershell 脚本来实现不可避免的过程。 (请注意,一旦 blob 计数超过 5000,Calculate size 将显示 Blob Count>5000 和 Size>XXMiB)。

【讨论】:

    【解决方案2】:

    也许你可以使用 Azure Monitor API,它本身会使用 Azure Metrics,所以通过 REST 调用它的 API,它会随着时间的推移保持统计数据,所以也许这样你就可以得到你需要的东西,否则我看不到任何其他方式。

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 2018-01-19
      • 2012-12-31
      相关资源
      最近更新 更多