从Google AppEngine Standard连接到Google Cloud SQL实例时出错(使用NodeJS)

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

我创建了一个连接到Google Cloud SQL的小型NodeJS REST API。使用Google AppEngine Flexible环境可以使用,但是当我尝试使用标准环境时,Google Cloud SQL连接被拒绝。

我试图使用内部IP以及socketPath进行连接。

我已经创建了一个存储库来展示错误:https://github.com/cbullokles/appengine-error

根据文档,我希望在两种情况下连接到MySQL,但它没有按预期工作。这是一个没有记录的限制吗?或许我没有正确阅读AppEngine文档。

mysql node.js cloud google-cloud-sql
1个回答
1
投票

通往connect to Cloud SQL instances from App Engine Standard的方法是使用Unix域套接字连接到提供App Engine标准环境的Cloud SQL实例。

如果您使用Node.js mysql包,请按照这种方式在App Engine中运行:

const db = mysql.createConnection ({
    socketPath: '/cloudsql/<PROJECT_NAME>:<REGION_NAME>:<INSTANCE_NAME>',
    user: 'user',
    password: '1234',
    database: 'yourDatabase'
});

<PROJECT_ID>:<REGION>:<INSTANCE_ID>是每个Cloud SQL实例的唯一字符串。它在实例的“实例详细信息”页面上的“实例连接名称”下列出,或在使用connectionName命令时在gcloud sql instances describe <INSTANCE_ID>下列出。

此外,Node.js的App Engine Standard官方文档还有一些用于使用code samples库进行连接的knex

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