bkang61wk bkang61wk - 2 months ago 23
Python Question

Google Cloud Storage Python list_blob() not printing object list

I am Python and Google Cloud Storage newbie.
I am writing a python script to get a file list from Google Cloud Storage bucket using Google Cloud Python Client Library and list_blobs() function from Bucket class is not working as I expected.

https://googlecloudplatform.github.io/google-cloud-python/stable/storage-buckets.html

Here is my python code:

from google.cloud import storage
from google.cloud.storage import Blob

client = storage.Client.from_service_account_json(service_account_json_key_path, project_id)
bucket = client.get_bucket(bucket_id)
print(bucket.list_blobs())


If I understood the documentation correctly, print(bucket.list_blobs()) should print something like this: ['testfile.txt', 'testfile2.txt'].

However, my script printed this:
"google.cloud.storage.bucket._BlobIterator object at 0x7fdfdbcac590"

delete_blob() documentation has example code same as mine.
https://googlecloudplatform.github.io/google-cloud-python/stable/storage-buckets.html

I am not sure what I am doing wrong here.
Any pointers/examples/answers will be greatly appreciated. Thanks!

Answer

On this page you can find some example functions. An example list function:

def list_blobs(bucket_name):
    """Lists all the blobs in the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)

    blobs = bucket.list_blobs()

    for blob in blobs:
        print(blob.name)

It contains a lot of other examples as well which you might find useful!