如何使用 Django-Environ 从 App Engine 连接到 Google Cloud mySQL?

问题描述 投票:0回答:1

我正在尝试使用 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 角色添加到我的应用程序引擎服务帐户中。

google-cloud-platform google-app-engine google-cloud-sql django-settings django-environ
1个回答
0
投票

您没有说这是 Google App Engine Standard 还是 Flex。

是连接到 Google App Engine Standard 的文档。您可以使用 Unix Sockets 或 Cloud SQL 连接器之一进行连接

请参阅 GitHub 上 Google 的 示例代码

© www.soinside.com 2019 - 2024. All rights reserved.