使用GoLang SDK进行Google云存储。...找不到检查存储桶是否存在的方法。
func (c *Client) Bucket(name string) *BucketHandle
即使存储桶不存在,存储桶也会返回BucketHandle。
那么,如何检查存储桶是否存在?我不希望创建不存在的存储桶,因此无法采取尝试创建存储桶和处理错误的路线
答案 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
遍历现有存储桶并检查其是否存在。