gpt4 book ai didi

python - 如何通过 Python Azure SDK 了解 Azure blob 对象的大小

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:22 25 4
gpt4 key购买 nike

遵循Microsoft Azure documentation for Python developersazure.storage.blob.models.Blob 类确实有一个名为 __sizeof__() 的私有(private)方法。但无论 blob 是空(0 字节)还是 1 GB,它都会返回常量值 16。 Blob 对象是否有任何方法/属性可以用来动态检查对象的大小?

更清楚地说,这就是我的源代码的样子。

for i in blobService.list_blobs(container_name=container, prefix=path):
if i.name.endswith('.json') and r'CIJSONTM.json/part' in i.name:
#do some stuffs

但是,数据池包含许多具有合法名称的空 blob,在我#do some stuff之前,我想对大小进行额外检查,以判断我是否正在处理空 blob Blob 。

此外,如果不是 blob 对象的大小,那么 __sizeof__() 方法到底给出了什么奖励?

最佳答案

I want to have an additional check on the size to judge whether I am dealing with an empty blob.

我们可以使用BlobProperties().content_length检查它是否是一个空 blob。

BlockBlobService.get_blob_properties(block_blob_service,container_name,blob_name).properties.content_length

以下是如何获取blob content_length的演示代码:

from azure.storage.blob import BlockBlobService
block_blob_service = BlockBlobService(account_name='accoutName', account_key='accountKey')
container_name ='containerName'
block_blob_service.create_container(container_name)
generator = block_blob_service.list_blobs(container_name)
for blob in generator:
length = BlockBlobService.get_blob_properties(block_blob_service,container_name,blob.name).properties.content_length
print("\t Blob name: " + blob.name)
print(length)

关于python - 如何通过 Python Azure SDK 了解 Azure blob 对象的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com