我有一個簡單的應用程序,可以從數據存儲獲取和放置信息。無法從Google Kubernetes引擎羣集訪問Google Cloud Datastore
它的工作原理無處不在,但是當我從Kubernetes引擎集羣中運行它,我得到這個輸出:
Error from Get()
rpc error: code = PermissionDenied desc = Request had insufficient authentication scopes.
Error from Put()
rpc error: code = PermissionDenied desc = Request had insufficient authentication scopes.
我使用的是cloud.google.com/go/datastore
包和Go語言。
我不知道爲什麼我得到這個錯誤,因爲應用程序在其他地方工作得很好。
更新:
尋找一個答案,我發現在谷歌羣組這個評論:一對夫婦的配置
爲了從GCE使用雲存儲,實例必須是額外的範圍。這些不能被添加到現有 GCE實例,但你可以創建一個新的與 以下雲SDK命令:
gcloud計算實例創建Hello-數據存儲--project --zone --scopes數據存儲用戶信息 - 電子郵件
這是否意味着默認情況下我不能使用GKE中的數據存儲?
更新2:
我可以看到我的創建羣集時,我沒有啓用任何權限(這是默認情況下,大多數服務已禁用)。我想這是什麼導致了問題:
奇怪的是,我可以用CLOUDSQL就好了,即使它已禁用(使用cloudsql_proxy
容器)。
你只是試圖在實例本身的編輯權限? – vjdhama