[英]Permissions Error Exporting a table from Google BigQuery to Google Cloud Storage
[英]Unathenticated user error when exporting database table from MySQL in Gcloud
我在我的 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。
我很茫然,很感激這里的任何方向。 謝謝!
您的應用程序發送到雲 SQL 管理員 API 的每個請求都需要向 Google 識別您的應用程序。
如果您沒有正確設置 OAuth header,就會發生此錯誤。要解決此問題,請重復這些步驟以驗證您的初始設置。 當您從本地計算機運行代碼時,您需要使用以下身份驗證方法之一使您自己的 OAuth 令牌可供代碼訪問:
- 使用服務帳戶:
創建服務帳戶並下載 JSON 密鑰。 將GOOGLE_APPLICATION_CREDENTIALS環境變量設置為下載的服務帳戶密鑰文件 (JSON) 的路徑。 您使用的相同google.auth.default 文檔代碼還會檢查此特殊環境變量以查找設置 JSON OAuth 令牌並自動使用它。
您可以通過運行以下命令檢查服務帳戶是否是實例上的活動帳戶: gcloud auth list
我還建議您查看Export SQL的官方文檔和Best Practices還請檢查這些示例以了解類似的實現:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.