继面向 Python 开发人员的 Microsoft Azure 文档 https://learn.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.models.blob?view=azure-python. The azure.storage.blob.models.Blob
类确实有一个名为的私有方法__sizeof__()
。但无论 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 stuffs
,我想对大小进行额外检查,以判断我是否正在处理空 blob。
另外,奖金到底是什么__sizeof__()
方法给出(如果不是)blob 对象的大小?
我想对大小进行额外检查,以判断我是否正在处理空斑点。
我们可以使用BlobProperties().content_length https://learn.microsoft.com/en-us/python/api/azure-storage-blob/azure.storage.blob.models.blobproperties?view=azure-python检查它是否是一个空的 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)