Google Storage: как проверить, существует ли корзина - PullRequest
0 голосов
/ 22 октября 2018

Использование GoLang SDK для облачного хранилища Google .... Не удается найти способ проверить, существует ли корзина.

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

Bucket возвращает BucketHandle, даже если корзина не существует.

Итак, как я могу проверить, существует ли ведро?Я не хочу создавать корзину, если она не существует, поэтому не могу пойти по пути попытки создать корзину и обработать ошибки

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Это можно сделать с помощью функции Attrs :

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.

Если вы считаете, чтофункция, которая прямо упоминает, существует ли корзина или нет, была бы полезна, я предлагаю заполнить запрос функции для команды разработчиков Cloud Storage, чтобы рассмотреть возможность его использования в следующих выпусках.

0 голосов
/ 22 октября 2018

вы можете func (c *Client) Buckets(ctx context.Context, projectID string) *BucketIterator перебирать существующие сегменты и проверять, существует ли он.

...