解决方案:google 云 SDK 问题:'callers must accept terms of service'
SOLUTION: google cloud sdk issue: 'callers must accept terms of service'
已知问题:
安装 google-cloud-sdk(linux 包或来自 tarball)有一个怪癖,您无法在接受服务条款之前从命令行创建项目。
重现步骤:
- 下载 sdk,解压,将文件夹移动到主目录并使用 install.sh
添加 google sdk 根目录到 PATH
- 初始化并登录:$ google init
- 从 CL 创建项目:$ gcloud projects create --set-as-default
这将吐出如下错误:
错误:(gcloud.projects.create)操作[cp.5641973328385684887]失败:9:来电者必须接受服务条款
我猜测接受服务条款尚未内置到命令行初始化中。在安装过程中省略这样一个基本步骤应该是非法的,其后果从被一千次击键致死到 'build an operating system in headfuck'...但我就是这样...
我们在最邪恶的地方找到了解决方案:google 云控制界面(云控制台)。
- 转到your cloud console
- 通过选择 'select a project'("Google Cloud Platform" 旁边的 top-left,然后选择 'create project'(弹出 window 中的 top-right)来创建一个项目.
这里会提示服务条款协议,您可以在同意服务条款后进行操作。
我希望这能帮助其他偶然发现这个最令人恼火的错误的人。
长命百岁
移位
"death by a thousand key-strokes"我们不要太戏剧化了。这是应该实施的安全措施。安全并不总是很方便,但可以让您的 checking/credit 帐户免去很多麻烦。
想象一下这个理论场景。您为我提供了一个服务帐户,该帐户具有创建项目的角色。我创建一个新项目。此项目是在您的 Google 结算帐户下创建的。我知道我在使用 Google IAM 做什么,所以我将你从新项目中移除并让我自己成为项目所有者。现在您无权访问新项目,但您的信用卡正在为我的项目支付账单。我想你会尖叫 "death by a million key-strokes".
有两种类型的项目:
- 不属于组织的独立项目。
- 属于组织的项目。
如果您是 Google 云组织的一员,您可以轻松创建达到配额限制(默认为 5)的项目。无需提示,无需接受 TOS 等。使用 CLI 创建新项目毫不费力。
如果您不属于 Google 云组织,那么您基本上是在创建一个新帐户,您需要设置帐户账单、接受服务条款等。这意味着您不应该使用CLI 创建新项目,因为 CLI 不会提示您输入新项目所需的项目。为什么,CLI 应该使用服务帐户。服务账户不是拥有该账户的 IAM 成员。这会强制您使用您的用户凭据登录到 Google Cloud Console 以创建新项目。
对于在尝试创建 dialogflow 代理时收到此消息的任何人:
转到 https://console.cloud.google.com,登录并接受显示的条款和条件。
后来对我有用...
已知问题:
安装 google-cloud-sdk(linux 包或来自 tarball)有一个怪癖,您无法在接受服务条款之前从命令行创建项目。
重现步骤:
- 下载 sdk,解压,将文件夹移动到主目录并使用 install.sh 添加 google sdk 根目录到 PATH
- 初始化并登录:$ google init
- 从 CL 创建项目:$ gcloud projects create --set-as-default
这将吐出如下错误:
错误:(gcloud.projects.create)操作[cp.5641973328385684887]失败:9:来电者必须接受服务条款
我猜测接受服务条款尚未内置到命令行初始化中。在安装过程中省略这样一个基本步骤应该是非法的,其后果从被一千次击键致死到 'build an operating system in headfuck'...但我就是这样...
我们在最邪恶的地方找到了解决方案:google 云控制界面(云控制台)。
- 转到your cloud console
- 通过选择 'select a project'("Google Cloud Platform" 旁边的 top-left,然后选择 'create project'(弹出 window 中的 top-right)来创建一个项目.
这里会提示服务条款协议,您可以在同意服务条款后进行操作。
我希望这能帮助其他偶然发现这个最令人恼火的错误的人。
长命百岁
移位
"death by a thousand key-strokes"我们不要太戏剧化了。这是应该实施的安全措施。安全并不总是很方便,但可以让您的 checking/credit 帐户免去很多麻烦。
想象一下这个理论场景。您为我提供了一个服务帐户,该帐户具有创建项目的角色。我创建一个新项目。此项目是在您的 Google 结算帐户下创建的。我知道我在使用 Google IAM 做什么,所以我将你从新项目中移除并让我自己成为项目所有者。现在您无权访问新项目,但您的信用卡正在为我的项目支付账单。我想你会尖叫 "death by a million key-strokes".
有两种类型的项目:
- 不属于组织的独立项目。
- 属于组织的项目。
如果您是 Google 云组织的一员,您可以轻松创建达到配额限制(默认为 5)的项目。无需提示,无需接受 TOS 等。使用 CLI 创建新项目毫不费力。
如果您不属于 Google 云组织,那么您基本上是在创建一个新帐户,您需要设置帐户账单、接受服务条款等。这意味着您不应该使用CLI 创建新项目,因为 CLI 不会提示您输入新项目所需的项目。为什么,CLI 应该使用服务帐户。服务账户不是拥有该账户的 IAM 成员。这会强制您使用您的用户凭据登录到 Google Cloud Console 以创建新项目。
对于在尝试创建 dialogflow 代理时收到此消息的任何人:
转到 https://console.cloud.google.com,登录并接受显示的条款和条件。
后来对我有用...