Google App Engine上的Django:“实例名称不能包含':'字符。”

时间:2017-10-30 01:15:08

标签: python django google-app-engine google-cloud-sql

我正在关注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`

(真实账户是正确的。我已经在这里进行了编辑。)

2 个答案:

答案 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有效。