繁体   English   中英

使用Python获取Azure Blob存储中的容器大小

[英]Get container sizes in Azure Blob Storage using Python

我试图在Python中使用block_blob_service库,以获取Azure blob存储中所有容器的大小。 可以执行以下操作,但是花费的时间太长(50TB blob大约需要10分钟)。

有没有更快的方法?

block_blob_service = BlockBlobService(account_name=azureAccount, account_key=azurekey)
containers = block_blob_service.list_containers()
for c in containers:
        contName = c.name
        generator = block_blob_service.list_blobs(contName)
        contSize = 0
        contNum = 0
        for blob in generator: 
            contSize += blob.properties.content_length
            contNum += 1
        print(contName + " : " + str(contSize/1000000) + " MB" + " in " + str(contNum) + " blobs")

除了SDK,您还可以使用PowerShell脚本CLI脚本来获取容器大小。

另外,您可以直接在门户上查看容器的大小。

在此处输入图片说明

我认为执行如此长时间的主要问题是,与存储blob的容量相比,存储blob过于分散,无法增加循环数。

因此,我建议您将计算结果放入Azure Function中,以减轻应用程序的压力。

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM