我在GCloud上有一个默认的n1实例,预装了java和最新的google sdk。当我在appengine:devserver中本地运行代码连接到真正的pubsub订阅时,它工作正常。如果我在实例上执行相同操作,则会收到身份验证错误:
[INFO] SEVERE: 401 OK
[INFO] {
[INFO] "code" : 401,
[INFO] "errors" : [ {
[INFO] "domain" : "global",
[INFO] "message" : "Request had invalid authentication credentials.",
[INFO] "reason" : "unauthorized"
[INFO] } ],
[INFO] "message" : "Request had invalid authentication credentials.",
[INFO] "status" : "UNAUTHENTICATED"
[INFO] }
此实例的所有权限均已满或已读/写/已启用。我完全不知道为什么会发生错误?
我在本地和实例上使用相同的凭据进行了gcloud init
。
upd:我还测试了拉动:gcloud beta pubsub subscriptions pull mysubscription-tag
- 确定
答案 0 :(得分:2)
只需运行gcloud beta auth application-default login
即可。
但我花了半天时间才发现它there。
我认为gcloud init
应该足够了。作为替代方案,您可以通过Google OAuth2使用Google身份验证,但这很难。