Google app engine Google云部署错误-无法检索[project]的默认Google云存储桶

Google app engine Google云部署错误-无法检索[project]的默认Google云存储桶,google-app-engine,google-cloud-storage,google-cloud-platform,gcloud,Google App Engine,Google Cloud Storage,Google Cloud Platform,Gcloud,我不完全确定我在这里需要采取的步骤。我已经安装了rails应用程序,准备在google云平台上部署。最后要做的是运行gcloud preview app deploy 问题是当我运行它时,我得到了错误 ERROR: Error Response: [403] Request had insufficient authentication scopes. ERROR: (gcloud.preview.app.deploy) Could not retrieve the default Google

我不完全确定我在这里需要采取的步骤。我已经安装了rails应用程序,准备在google云平台上部署。最后要做的是运行
gcloud preview app deploy

问题是当我运行它时,我得到了错误

ERROR: Error Response: [403] Request had insufficient authentication scopes.
ERROR: (gcloud.preview.app.deploy) Could not retrieve the default Google Cloud Storage bucket for [project]. Please try again or use the [bucket] argument.
root@project-small-group-1-po7p:/home/project/site/site# 
我很确定这些错误是相关的。通过查找错误,我发现启用google存储API可以解决这个问题,并为项目创建了默认存储桶。存储API现在已启用,我可以看到存储桶已启用,但错误仍然存在

也许我需要创建从服务器到存储桶的某种权限,但我不知道这是否是问题所在,以及我需要采取哪些步骤来设置这些权限


我需要做什么?我有两个实例设置和一个SQL实例,上面有一个rails应用程序设置。

Zachary Newman的做法是正确的。检查您是否已正确通过gcloud的身份验证。我在项目中使用两个选项之一:

gcloud auth login

我使用第一个用于我的个人测试。我在我的CI服务上使用第二个。要创建服务帐户JSON,请从Google Cloud项目的主菜单:

  • 导航到“权限>服务帐户选项卡”
  • 单击“创建服务帐户”按钮
  • 输入一个有用的名称
  • 单击“提供新私钥”复选框
  • 使用JSON密钥类型
  • 单击“创建”按钮
这是保存JSON文件的唯一机会,因此请确保其安全


尝试一下,看看会发生什么。

您从哪里部署(即,您的开发设备、CI系统、Google计算引擎虚拟机)?您是如何通过gcloud进行身份验证的(
gcloud auth login
vs.服务帐户vs.计算引擎VM上的服务帐户)?我正在从SSH部署到Google计算引擎VM上。我通过他们提供的浏览器SSH进行身份验证。是否在
App Engine
->
settings
中设置了默认bucket?我正在从SSH部署到Google Compute Engine VM上。我通过他们提供的浏览器SSH进行身份验证。错误B:这不起作用,因为您的VM没有相应的Google云存储权限。您可以使用适当的“作用域”重新创建VM,也可以使用Stanley Tso描述的服务帐户。
gcloud auth activate-service-account --key-file SERVICE_ACCOUNT_JSON