#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/..
$