从标准迁移到 flex App Engine 环境,现在 Cloud SQL 无法连接

Migrated from standard to flex App Engine environment, now Cloud SQL won't connect

我有一个用 Node.js 编写的 Google App Engine 应用程序,它连接到同一 GCP 项目下的 Cloud SQL Postgres 实例。之前我用的是标准环境,运行的很好,但是当我切换到 flex 环境时,SQL 连接不再有效。

我的app.yaml:

runtime: nodejs

env: flex

manual_scaling:
  instances: 1

beta_settings:
  cloud_sql_instances: mopho-217900:us-central1:mopho

我正在使用主机名 /cloudsql/mopho-217900:us-central1:mopho 通过 Knex 连接到数据库。这给了我以下错误:

Error: connect ENOENT /cloudsql/mopho-217900:us-central1:mopho/.s.PGSQL.5432

我提供的username/password/database都是有效的,如果我切换回标准环境继续工作。只有当我切换到灵活的环境时它才会失败。

原来是指针的Cloud SQL Admin API needed to be enabled. (thanks to this Google groups post)