如何从谷歌云Python库获取对象的文件大小?

Ala*_*ACK 7 python google-cloud-platform google-cloud-sdk

问题

大家好。我正在尝试使用 python 库获取对象的文件大小google-cloud。这是我当前的代码。

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
Run Code Online (Sandbox Code Playgroud)

在我看来,该库选择不将数据加载到、等google-cloud属性中。chunk_sizecontent_type

问题

如何使库显式地将实际数据加载到 blob 的元数据属性中,而不是将所有内容默认为None

Joh*_*ley 6

调用get_blob而不是blob.

blob_metadata此链接中查看该函数的源代码。它演示了如何获取 Blob 的各种元数据属性,包括其大小。

如果上述链接失效,请尝试在此目录中查找:Storage Client Samples


orb*_*rby 6

打电话sizeBlob

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
Run Code Online (Sandbox Code Playgroud)

  • @SuperEye - 代码有效。我刚刚在我的系统上验证了这一点。更改项目名称、存储桶名称和文件名。没有问题。您遇到了什么问题? (2认同)