如何在Azure存储中获取文件,表和队列的所有服务的大小?在JAVA中

时间:2019-10-17 17:27:29

标签: java azure azure-storage azure-storage-queues azure-storage-files

试图获取天蓝色存储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片段。

谢谢

1 个答案:

答案 0 :(得分:0)

不幸的是,没有一个简单的方法。

对于文件,您可以像处理blob一样执行操作-列出和汇总文件大小。

对于表,您需要扫描整个表并逐一估计实体大小。 https://blogs.msdn.microsoft.com/avkashchauhan/2011/11/30/how-the-size-of-an-entity-is-caclulated-in-windows-azure-table-storage/

据我了解,队列是不可行的。