![](/img/trans.png)
[英]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.