如何使用python检查GCS中是否存在存储桶

Stu*_*ent 9 python google-cloud-platform gcloud

代码:

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)
Run Code Online (Sandbox Code Playgroud)

如果存储桶存在,我想做 client.get_bucket。如何检查桶是否存在?

Dan*_*att 11

另一个不使用 try: except 的选项是:

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)
Run Code Online (Sandbox Code Playgroud)


rsa*_*nas 2

没有方法可以检查存储桶是否存在,但是如果您尝试访问不存在的存储桶,则会收到错误消息。

我建议您列出项目中的存储桶storage_client.list_buckets(),然后使用响应来确认代码中是否存在该存储桶,或者如果您希望client.get_bucket在项目中的每个存储桶中执行 ,您可以直接迭代响应。

希望您发现此信息有用

  • 有一个方法,称为“exists()”,请参阅https://googleapis.dev/python/storage/latest/buckets.html。 (3认同)