使用Python

时间:2017-12-07 11:55:47

标签: python azure-blob-storage

我正在尝试在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")

1 个答案:

答案 0 :(得分:0)

除了SDK之外,您还可以使用PowerShell scriptCLI script来获取容器大小。

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

enter image description here

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

所以,我建议你把计算放在Azure Function中,以减轻你的申请压力。

希望它对你有所帮助。