Google Storage:如何检查存储桶是否存在

时间:2018-10-22 16:35:44

标签: go google-cloud-platform google-cloud-storage

使用GoLang SDK进行Google云存储。...找不到检查存储桶是否存在的方法。

func (c *Client) Bucket(name string) *BucketHandle

即使存储桶不存在,存储桶也会返回BucketHandle。

那么,如何检查存储桶是否存在?我不希望创建不存在的存储桶,因此无法采取尝试创建存储桶和处理错误的路线

2 个答案:

答案 0 :(得分:2)

这可以通过使用Attrs function来完成:

bucket := client.Bucket(bucketName)
exists,err := bucket.Attrs(ctx)
if err != nil {
    log.Fatalf("Message: %v",err)
}
fmt.Println(exists)

err开始,将打印Message: storage: bucket doesn't exist

如果您认为具有直接提及存储桶是否存在的功能很有用,我建议向云存储工程团队填写feature request,以考虑将其用于其他版本。

答案 1 :(得分:0)

您可以func (c *Client) Buckets(ctx context.Context, projectID string) *BucketIterator遍历现有存储桶并检查其是否存在。