我有一个在Google App Engine灵活环境中运行Cloud SQL和Django App的GCP项目,它运行正常 . 但是,当我尝试从另一个项目连接到同一个Cloud SQL实例时,它不起作用,因为未按照app.yaml中的cloud_sql_instances指定创建套接字:
runtime: custom
env: flex
automatic_scaling:
min_num_instances: 1
beta_settings:
cloud_sql_instances: myproject:myzone:mydbinstance
env_variables:
SQLALCHEMY_DATABASE_URI: >-
postgresql+psycopg2://myuser:mypass@/mydb?host=/cloudsql/myproject:myzone:mydbinstance
重现步骤:
-
创建GCP项目A.
-
在项目A中创建Cloud SQL postgres实例
-
将应用程序部署到项目A中的应用程序引擎灵活环境,按照以下步骤将应用程序连接到Cloud SQL:https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres
-
SSH进入项目A中的实例(通过Web控制台)
-
$ ls /cloudsql/
- >应该显示套接字文件 -
创建GCP项目B.
-
将相同的应用程序部署到项目B中的应用程序引擎灵活环境,按照以下步骤连接并授权应用程序以项目A的Cloud SQL:https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres
-
SSH进入项目B中的实例(通过Web控制台)
-
$ ls /cloudsql/
- >目录为空,套接字不存在 .
如何让项目B显示套接字?
1 回答
我通过为项目B启用Cloud SQL Administration API解决了这个问题 . 之前,我只为项目A启用了它 .