我正在尝试使用 django-environ 将 Django Google App 引擎连接到 Cloud Mysql 实例。该应用程序无法连接到数据库,但运行成功。
我已按照 Django 教程连接到 cloudsql 实例,并引用了有关连接字符串的 django-environ 文档。从我的本地计算机连接成功,但在 App Engine 环境中运行时连接失败。
我的settings.py文件显示:
DATABASES = {
'default': env.db()
,}
我根据文档尝试了 20 多种 DATABASE_URL 模式,但没有一个成功。 我使用谷歌秘密管理器将它们设置为环境变量,并且我已经验证它们是否被拉到程序中并正确设置为环境变量。
文档显示 mysql://user:password@host:port/dbname。我已经使用公共 IP 地址和端口 3306 尝试过此操作。(在我的机器上有效)。 我还尝试用连接字符串和 /cloudsql/ 替换“host:port”。 我尝试过的一些其他组合:
mysql://user:[email protected]:3306/dbname
mysql://user:[email protected]:5432/dbname
mysql://user:password@//cloudsql/<connection string/dbname
到目前为止还没有成功。 我已将 SQL 客户端的 IAM 角色添加到我的应用程序引擎服务帐户中。