我在我的 gcloud cmd shell 中運行以下代碼,旨在將特定表從我的資料庫匯出到存盤桶:
gcloud sql export sql databasen gs://my_bucket/file_nam,e.sql --async --database=database--table=table --offload
我不斷收到錯誤訊息:
{
"error": {
"code": 401,
"message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"errors": [
{
"message": "Login Required.",
"domain": "global",
"reason": "required",
"location": "Authorization",
"locationType": "header"
}
],
"status": "UNAUTHENTICATED",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"reason": "CREDENTIALS_MISSING",
"domain": "googleapis.com",
"metadata": {
"method": "google.cloud.sql.v1beta4.SqlOperationsService.Get",
"service": "sqladmin.googleapis.com"
}
}
]
}
我已經在 shell 中對自己進行了身份驗證,gcloud auth login并將 CloudAdmin IAM 權限授予了 sql 實體的服務帳戶。我還啟用了所有 cloudsql 云 API。
我很茫然,很感激這里的任何方向。謝謝!
uj5u.com熱心網友回復:
您的應用程式發送到 Cloud SQL Admin API 的每個請求都需要向 Google 識別您的應用程式。
如果您沒有正確設定 OAuth 標頭,可能會發生此錯誤。要解決此問題,請重復這些步驟以驗證您的初始設定。當您從本地計算機運行代碼時,您需要使用以下身份驗證方法之一使您自己的 OAuth 令牌可供代碼訪問:
-- 使用服務帳戶:
創建服務帳戶并下載 JSON 密鑰。將GOOGLE_APPLICATION_CREDENTIALS環境變數設定為下載的服務帳戶密鑰檔案 (JSON) 的路徑。相同的google.auth.default 檔案您使用的代碼還會檢查此特殊環境變數以獲取設定的 JSON OAuth 令牌并自動使用它。
您可以通過運行以下命令檢查服務帳戶是否是實體上的活動帳戶:
gcloud auth list
我還建議您查看Export SQL和Best Practices的官方檔案 還請檢查這些示例以了解類似的實作:
- 授權 Cloud sql admin api 呼叫
- 谷歌云管理員身份驗證
- google cloud sql 匯出權限
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/535377.html
標籤:Google Cloud Collective 数据库谷歌云存储云端
下一篇:在VUE.js中顯示JSON
