команда gsutil make bucket [gsutil mb] не работает

#google-cloud-storage #gsutil

#google-облачное хранилище #gsutil

Вопрос:

Я пытаюсь создать корзину с помощью команды gsutil mb:

 gsutil mb -c DRA -l US-CENTRAL1 gs://some-bucket-to-my-gs
  

Но я получаю это сообщение об ошибке:

 Creating gs://some-bucket-to-my-gs/...
BadRequestException: 400 Invalid argument.
  

Я следую документации отсюда

В чем причина ошибки такого типа?

Комментарии:

1. Я просто скопировал и вставил вашу команду, изменил имя корзины, а затем запустил ее, и она сработала, и создал корзину.

2. Документация по кодам ошибок, хотя и не полезная в этом случае, находится здесь: developers.google.com/storage/docs /…

3. Я пробовал использовать разные имена корзин, а также разные параметры. у меня пока ничего не получалось. Но я могу использовать другие команды gsutil, такие как rsync. Но не уверен, почему эта команда gsutil mb не работает!

4. Когда вы в последний раз обновляли его, попробуйте «версию gsutil», чтобы узнать, какая у вас версия, у меня 4.1

5. У вас включена выставление счетов?

Ответ №1:

Я получил ту же ошибку. Я был, потому что я использовал неправильное местоположение. Параметр location ожидает регион без указания witch zone.

Например.

 sutil mb -p ${TF_ADMIN} -l europe-west1-b  gs://${TF_ADMIN}
  

Должно было быть

 sutil mb -p ${TF_ADMIN} -l europe-west1  gs://${TF_ADMIN}
  

Ответ №2:

Одна из причин возникновения этой ошибки (подтверждена в чате с автором вопроса) заключается в том, что в вашем файле .boto настроен недопустимый default_project_id. Убедитесь, что идентификатор совпадает с идентификатором вашего проекта в консоли разработчиков Google

Если вы можете успешно создать корзину с помощью консоли разработчиков Google, но не используя «gsutil mb», это полезно проверить.

Ответ №3:

Я получал ту же ошибку для той же команды при использовании gsutil , а также веб-консоли. Интересно, что изменение имени моей корзины с «google-gatk-test» на «gatk» позволило выполнить запрос. Исходное имя, похоже, не нарушает соглашения об именовании корзины.

Стоит попробовать поиграть с именем корзины, если кто-то еще сталкивается с этой проблемой.

Комментарии:

1. Для меня терминал показал исключение BadRequestException: 400 Использование этого имени корзины ограничено. Мое имя корзины содержало «google» и cloud.google.com/storage/docs/naming явно указано: имена корзин не могут начинаться с префикса «goog». Имена корзин не могут содержать «google» или близкие орфографические ошибки, такие как «g00gle».

Ответ №4:

Получил эту ошибку и добавление default_project_id в файл .boto не сработало. Мне потребовалось некоторое время, но в конце я удалил файл учетных данных из каталога «Global Config» и воссоздал учетную запись.

Кстати, использую его в Windows…

Ответ №5:

Это может произойти, если вы вошли в консоль управления (браузер хранилища), возможно, проблема с блокировкой / конфликтом.

Может возникнуть проблема, если вы добавляете и удаляете сегменты в пакетных сценариях.

В частности, это происходило со мной при создании региональных сегментов (не DRA) :

gsutil mb -l EU gs://somebucket

Также следите за подчеркиванием, схема абстракции, похоже, использует их для сопоставления папок. Все объекты в одном проекте хранятся на одном уровне (возможно, как большие двоичные объекты в абстрактной структуре базы данных).

Вы можете увидеть это при загрузке из интерфейса браузера (во всяком случае, на данный момент).

Объект, скопированный в gs://somebucket/home/crap.txt может быть загружен через браузер (или curl) как home_crap.txt . В качестве отступления (отвлекающий маневр) somefile.tar.gz может выглядеть как somefile.tar.gz.tar, поэтому может потребоваться небольшое переименование из-за капризов заголовков, возвращаемых из интерфейса браузера в любом случае. Минимальный реальный уровень поддержки по-прежнему составляет 150 долларов США / месяц.

Ответ №6:

У меня была такая же проблема, когда я создавал свою корзину, используя следующие команды

 MY_BUCKET_NAME_1=quiceicklabs928322j22df
MY_BUCKET_NAME_2=MY_BUCKET_NAME_1
MY_REGION=us-central1
  

Но когда я решил добавить знак доллара $ к переменной MY_BUCKET_NAME_1 как MY_BUCKET_NAME_2= $ MY_BUCKET_NAME_1, ошибка была устранена, и я смог создать корзину

Ответ №7:

Я получил эту ошибку, когда у меня была заглавная буква в имени корзины

 $gsutil mb gs://CLIbucket-anu-100000
Creating gs://CLIbucket-anu-100000/...
BadRequestException: 400 Invalid bucket name: 'CLIbucket-anu-100000'

$gsutil mb -l ASIA-SOUTH1 -p single-archive-352211      gs://clibucket-anu-100
Creating gs://clibucket-anu-100/..
$