我正在关注this tutorial在Google AppEngine上运行Django项目。我已经完成了创建Cloud SQL实例的步骤。我正迈出这一步:
现在从命令行使用Cloud SDK运行以下命令。复制为connectionName显示的值以进行下一步。
gcloud sql实例描述[YOUR_INSTANCE_NAME]
connectionName值的格式为[PROJECT_NAME]:[REGION_NAME]:[INSTANCE_NAME]。
我收到以下错误:
$ gcloud sql instances describe django-polls-184415:us-west1:polls
ERROR: (gcloud.sql.instances.describe) Instance names cannot contain the ':' character. If you meant to indicate the
project for [polls], use only 'polls' for the argument, and either add
'--project django-polls-184415:us-west1' to the command line or first run
$ gcloud config set project django-polls-184415:us-west1
当我按照错误信息中的说明操作时,我会
$ gcloud config set project django-polls-184415:us-west1
Updated property [core/project].
$ gcloud sql instances describe polls
ERROR: (gcloud.sql.instances.describe) HTTPError 403: The client is not authorized to make this request.
$ gcloud sql instances describe --project django-polls-184415:us-west1 polls-instance
ERROR: (gcloud.sql.instances.describe) HTTPError 403: The client is not authorized to make this request.
我做错了什么?更重要的是我该如何正确地做到这一点?
附录
我已使用gcloud auth application-default login
对Cloud SDK进行了身份验证。验证:
$ gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* foo@bar.com
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(真实账户是正确的。我已经在这里进行了编辑。)
答案 0 :(得分:3)
您必须先create the instance才能使用它。要检查您创建的实例列表,请使用:
gcloud sql instances list
然后显示实例的信息:
gcloud beta sql instances describe [YOUR_INSTANCE_NAME]
将[YOUR_INSTANCE_NAME]替换为gcloud sql instances list
命令的“NAME”列的结果。
在您的情况下,403错误意味着您没有'poll'实例的权限。要么是因为您没有拥有此实例,要么尚未创建此实例。
答案 1 :(得分:1)
显然我没有仔细阅读说明书:
connectionName值的格式为[PROJECT_NAME]:[REGION_NAME]:[INSTANCE_NAME]。
这意味着我需要做
$ gcloud config set project django-polls-184415
这修复了我使用的早期gcloud config set project
命令的错误。然后gcloud sql instances describe polls
有效。