Search code examples
pythongoogle-app-enginegoogle-cloud-storagegoogle-cloud-platformgoogle-cloud-python

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!


Solution

  • 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)