Simple question here? ...
How can I check with boto that a AWS bucket exists? ... preferably by providing the path? ...
here is the approach I feel like taking:
def bucket_exists(self, bucket_name):
connection = boto.s3.connection.S3Connection('<aws access key>', '<aws secret key>')
buckets = connection.get_all_buckets()
for bucket in buckets:
bucket_name = bucket.name
# Bucket existence logic here
# submit boto request
ie:. exists = boto.get_bucket(bucket_name, validate=True)
if exists:
return True
else:
return False
In the code above I am interested to find if a bucket exists amongst the buckets that this AWS Account owns ...
IS there a better way to find out if a bucket exists? How would I implement a better way?
Thanks
From the documentation:
If you are unsure if the bucket exists or not, you can use the S3Connection.lookup method, which will either return a valid bucket or None.
So this is the best option:
bucket = connection.lookup('this-is-my-bucket-name')
if not bucket:
print "This bucket doesn't exist."