如何从 google 云 python 库中获取对象的文件大小?

How to get file size of objects from google cloud python library?

问题

大家好。我目前正在尝试以编程方式从 google-cloud python 库中获取对象的文件大小。

这是我现在拥有的。

from google.cloud import storage

client = storage.Client()
bucket = client.get_bucket("example-bucket-name")
object = bucket.blob("example-object-name.jpg")

print(object.exists())
>>> True

print(object.chunk_size)
>>> None

在我看来,google-cloud 库忽略了将数据加载到属性 chunk_size, content_type, etc, ...

问题

如何强制 google-cloud 将实际数据加载到 blob 各自的元数据属性中 - 而不是将所有内容都保留为 None

调用 get_blob 而不是 blob

this link 查看函数 blob_metadata 的源代码。它展示了如何获取 blob 的各种元数据属性,包括其大小。

如果上面的 link 死了,试着在这个目录中四处寻找:Storage Client Samples

Blob 上致电 size

from google.cloud import storage

# create client
client: storage.client.Client = storage.Client('projectname')

# get bucket
bucket: storage.bucket.Bucket = client.get_bucket('bucketname')

size_in_bytes = bucket.get_blob('filename').size