如何获取文件、表和队列的 Azure 存储中所有服务的大小?在 JAVA
How to get the size of all services in azure storage for files, tables & queues? in JAVA
正在尝试获取 Azure 存储 blob、文件、队列和表的 size/length。
我可以通过以下代码获取 blob 的大小,但无法为文件、队列和表等其他代码获取 blob 的大小。
for (CloudBlobContainer cloudBlobContainer : cloudBlobContainers) {
Iterable<ListBlobItem> blobItems = cloudBlobContainer.listBlobs();
for (ListBlobItem blobItem : blobItems) {
if (blobItem instanceof CloudBlob) {
CloudBlob blob = (CloudBlob) blobItem;
size += blob.getProperties().getLength();
logger.info("Size : "+blob.getProperties().getLength());
}
}
如果有人可以帮助处理 ccode 片段,我们将不胜感激。
谢谢
遗憾的是,没有简单的方法。
对于文件,您可以像对 blob 一样执行操作 - 列出和聚合文件大小。
对于tables,你需要扫描整个table并一个一个地估计实体大小。 https://blogs.msdn.microsoft.com/avkashchauhan/2011/11/30/how-the-size-of-an-entity-is-caclulated-in-windows-azure-table-storage/
据我了解,队列不可行。
正在尝试获取 Azure 存储 blob、文件、队列和表的 size/length。
我可以通过以下代码获取 blob 的大小,但无法为文件、队列和表等其他代码获取 blob 的大小。
for (CloudBlobContainer cloudBlobContainer : cloudBlobContainers) {
Iterable<ListBlobItem> blobItems = cloudBlobContainer.listBlobs();
for (ListBlobItem blobItem : blobItems) {
if (blobItem instanceof CloudBlob) {
CloudBlob blob = (CloudBlob) blobItem;
size += blob.getProperties().getLength();
logger.info("Size : "+blob.getProperties().getLength());
}
}
如果有人可以帮助处理 ccode 片段,我们将不胜感激。
谢谢
遗憾的是,没有简单的方法。
对于文件,您可以像对 blob 一样执行操作 - 列出和聚合文件大小。
对于tables,你需要扫描整个table并一个一个地估计实体大小。 https://blogs.msdn.microsoft.com/avkashchauhan/2011/11/30/how-the-size-of-an-entity-is-caclulated-in-windows-azure-table-storage/
据我了解,队列不可行。