【问题标题】:gsutil make bucket command [gsutil mb] is not workinggsutil make bucket 命令 [gsutil mb] 不起作用
【发布时间】:2014-08-06 14:01:46
【问题描述】:

我正在尝试使用 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.

我正在关注来自here的文档

出现这种错误的原因是什么?

【问题讨论】:

  • 我刚刚复制并粘贴了您的命令,更改了存储桶名称,然后运行它并运行它,并创建了存储桶。
  • 错误代码的文档虽然在这种情况下没有帮助,但在这里:developers.google.com/storage/docs/…
  • 我尝试了不同的存储桶名称以及不同的选项。到目前为止,没有什么对我有用。但我可以使用其他 gsutil 命令,例如 rsync。但不知道为什么这个 gsutil mb 命令不起作用!
  • 你上次更新是什么时候,试试“gsutil版本”看看你是哪个版本,我有4.1
  • 您是否启用了计费功能?

标签: google-cloud-storage gsutil


【解决方案1】:

我遇到了同样的错误。我是因为我用错了位置。 location 参数需要一个没有指定女巫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。确保 ID 与 Google Developers Console 中的项目 ID 匹配

    如果您可以使用Google Developers Console 成功创建存储桶,但不能使用“gsutil mb”,这是一个很好的检查。

    【讨论】:

      【解决方案3】:

      我在使用 gsutil 以及 Web 控制台时收到相同命令的相同错误。有趣的是,将我的存储桶名称从“google-gatk-test”更改为“gatk”允许请求通过。原始名称似乎没有违反bucket naming conventions

      如果其他人遇到此问题,则值得尝试使用存储桶名称。

      【讨论】:

      • 对我来说,终端显示 BadRequestException: 400 使用此存储桶名称受到限制。我尝试的存储桶名称包含“google”和cloud.google.com/storage/docs/naming 明确指出:存储桶名称不能以“goog”前缀开头。存储桶名称不能包含“google”或紧密的拼写错误,例如“g00gle”。
      【解决方案4】:

      遇到此错误,将 default_project_id 添加到 .boto 文件不起作用。 花了我一些时间,但最后我从“全局配置”目录中删除了凭据文件并重新创建了帐户。

      顺便说一句,在 Windows 上使用它...

      【讨论】:

        【解决方案5】:

        如果您登录到管理控制台(存储浏览器),可能会发生这种情况,可能是锁定/争用问题。

        如果您在批处理脚本中添加和删除存储桶,可能会出现问题。

        尤其是我在创建区域多样化(非 DRA)存储桶时发生了这种情况:

        gsutil mb -l EU gs://somebucket

        还要注意下划线,抽象方案似乎使用它们来映射文件夹。同一项目中的所有对象都存储在同一级别(可能作为抽象数据库结构中的 blob)。

        您可以在从浏览器界面下载时看到这一点(无论如何)。

        复制到 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 时,错误被清除并且我能够创建存储桶

          【讨论】:

            猜你喜欢
            • 2021-01-17
            • 1970-01-01
            • 2014-11-07
            • 2013-07-11
            • 2017-08-22
            • 2014-05-03
            • 2020-02-09
            • 2021-03-22
            • 2018-03-08
            相关资源
            最近更新 更多