Как найти ключи в объекте Blob? - PullRequest
0 голосов
/ 05 января 2019

Хотелось бы узнать, какие ключи включены в возвращаемый объект Blob Bucket.list_blobs ()

#!/usr/bin/env

from google.cloud import storage

client = storage.Client()

bucket = client.get_bucket("xxx")

blobs = list( bucket.list_blobs() )

for blob in blobs:
    print(blob)

Когда я выполняю приведенный выше код, я получаю результат ниже.

<Blob: xxx, flights/raw/201501.csv>
<Blob: xxx, flights/raw/201502.csv>
<Blob: xxx, flights/raw/201503.csv>
<Blob: xxx, flights/raw/201504.csv>
<Blob: xxx, flights/raw/201505.csv>
<Blob: xxx, flights/raw/201812.csv>

Я проверил документ , но в разделе list_blobs не упоминается информация о ключах . Я знаю, что blob.name из образца кода . Но что еще там и как я могу перечислить ключи?

Хотелось бы, чтобы было что-то вроде ключей , как в словаре ...

1 Ответ

0 голосов
/ 05 января 2019

Следуя совету @John Hanly, я смог увидеть доступные методы в объекте, используя dir .

Код:

#!/usr/bin/env

from google.cloud import storage

client = storage.Client()

bucket = client.get_bucket("elite-caster-125113")

blobs = list( bucket.list_blobs() )

for blob in blobs:
    print(dir(blob))

Теперь я смог увидеть, что было доступно.

['_CHUNK_SIZE_MULTIPLE', '_STORAGE_CLASSES', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_acl', '_changes', '_chunk_size', '_do_download', '_do_multipart_upload', '_do_resumable_upload', '_do_upload', '_encryption_key', '_get_content_type', '_get_download_url', '_get_transport', '_get_upload_arguments', '_get_writable_metadata', '_initiate_resumable_upload', '_patch_property', '_properties', '_require_client', '_set_properties', 'acl', 'bucket', 'cache_control', 'chunk_size', 'client', 'component_count', 'compose', 'content_disposition', 'content_encoding', 'content_language', 'content_type', 'crc32c', 'create_resumable_upload_session', 'delete', 'download_as_string', 'download_to_file', 'download_to_filename', 'etag', 'event_based_hold', 'exists', 'generate_signed_url', 'generation', 'get_iam_policy', 'id', 'kms_key_name', 'make_private', 'make_public', 'md5_hash', 'media_link', 'metadata', 'metageneration', 'name', 'owner', 'patch', 'path', 'path_helper', 'public_url', 'reload', 'retention_expiration_time', 'rewrite', 'self_link', 'set_iam_policy', 'size', 'storage_class', 'temporary_hold', 'test_iam_permissions', 'time_created', 'time_deleted', 'update', 'update_storage_class', 'updated', 'upload_from_file', 'upload_from_filename', 'upload_from_string', 'user_project']

Большое спасибо @Джон Хэнли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...