【发布时间】:2015-11-21 07:57:56
【问题描述】:
我正在关注关于 https://cloud.google.com/datastore/docs/getstarted/start_nodejs/ 尝试使用我的 Compute Engine 项目中的数据存储区。
第 2 步在教程中提到从 Compute Engine 运行时我不必创建新的服务帐户凭据。
我运行示例:
node test.js abc-test-123
其中 abc-test-123 是我的项目 ID,并且该项目已启用所有云 API 访问,包括 DataStore API。
上传代码并执行示例后,出现以下错误:
Adams: { 'rpc error': { [Error: Invalid Credentials] code: 401, 错误:[ [对象] ] } }
更新:
我通过更改默认示例代码以使用 JWT 凭据方式(使用生成的 .json 密钥文件)做了一个解决方法,现在一切正常。
更新 2:
这是我运行时的范围配置
gcloud compute instances describe abc-test-123
结果:
serviceAccounts:
scopes:
- https://www.googleapis.com/auth/cloud-platform
根据文档:
只能在创建新实例时设置范围,不能 更改或扩展现有实例的范围列表。为了 简单,您可以选择启用对所有 Google Cloud 的完全访问权限 带有https://www.googleapis.com/auth/cloud-platform 的平台 API 范围。
我仍然欢迎任何关于为什么原始代码在我的情况下不起作用的答案~ 感谢阅读
【问题讨论】:
标签: google-compute-engine google-cloud-datastore