我正在尝试在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")
答案 0 :(得分:0)
除了SDK之外,您还可以使用PowerShell script或CLI script来获取容器大小。
此外,您可以直接在门户上查看容器大小。
我认为执行这么长时间的主要问题是,与存储blob的容量相比,存储blob过于分散,无法增加循环次数。
所以,我建议你把计算放在Azure Function中,以减轻你的申请压力。
希望它对你有所帮助。