Reputation: 165
Code:
from google.cloud import storage
client = storage.Client()
bucket = ['symbol_wise_nse', 'symbol_wise_final']
for i in bucket:
if client.get_bucket(i).exists():
BUCKET = client.get_bucket(i)
if the bucket exists i want to do client.get_bucket. How to check whether the bucket exists or not?
Upvotes: 10
Views: 13558
Reputation: 11
The following worked for me (re-using params in question):
from google.cloud import storage
from google.cloud.storage import Bucket
client = storage.Client()
exists = Bucket(client, 'symbol_wise_nse').exists()
Upvotes: 1
Reputation: 1151
Another option that doesn't use try: except is:
from google.cloud import storage
client = storage.Client()
bucket = ['symbol_wise_nse', 'symbol_wise_final']
for i in bucket:
BUCKET = client.bucket(i)
if BUCKET.exists():
BUCKET = client.get_bucket(i)
Upvotes: 12
Reputation: 8066
You can use something like this:
from google.cloud import storage
client = storage.Client()
buckets = ['symbol_wise_nse', 'symbol_wise_final']
for i in buckets:
try:
bucket = client.get_bucket(i)
print(bucket)
except:
pass
Upvotes: 1
Reputation: 1537
There is no method to check if the bucket exists or not, however you will get an error if you try to access a non existent bucket.
I would recommend you to either list the buckets in the project with storage_client.list_buckets()
and then use the response to confirm if the bucket exists in your code, or if you wish to perform the client.get_bucket
in every bucket in your project, you can just iterate through the response directly.
Hope you find this information useful
Upvotes: 2