Google Flexible Environment django deploy with:Invalid Cloud SQL name: gcloud beta sql instances describe

Google Flexible Environment django deploy with:Invalid Cloud SQL name: gcloud beta sql instances describe

我正在使用以下命令将 Django 应用程序部署到 Google 灵活环境

gcloud app deploy

但是我得到这个错误

Updating service [default] (this may take several minutes)...failed.
ERROR: (gcloud.app.deploy) Error Response: [13] Invalid Cloud SQL name: gcloud beta sql instances describe

可能是什么问题?

在您的 app-yaml 文件(以及 mysite/settings.py 中),您必须提供 CloudSQL 实例的实例连接名称。格式为:

[PROJECT_NAME]:[REGION_NAME]:[INSTANCE_NAME].

您可以通过 运行 gcloud 命令 gcloud sql instances describe [YOUR_INSTANCE_NAME] 获取此实例连接名称,并复制 connectionName 显示的值。在您的情况下,您似乎复制了命令本身而不是 connectionName 值。

或者,您也可以通过转到您的开发者控制台 > SQL 并单击您的实例来获取实例连接名称。您将在 "Connect to this instance" 部分下找到实例连接名称。

LundinCast post contains the most important information to fix the issue. Take also into account that the Cloud SQL Proxy provides secure access to your Cloud SQL Second Generation instances (as described here). Use this command to run the proxy, if you already created one, as suggested in this Django in App Engine Flexible guide:

./cloud_sql_proxy -instances="[YOUR_INSTANCE_CONNECTION_NAME]"=tcp:5432

上述命令建立从本地计算机到云 SQL 实例的连接,用于本地测试目的,并且在测试时必须 运行 但在部署时不需要。