sta*_*af1 8 mysql google-app-engine node.js
我正在尝试在Google App Engine上部署我的Node.js应用程序并且部署得很好,但由于某种原因它无法连接到Google Cloud SQL.这是它抛出的东西:
Error: connect ENOENT /cloudsql/my-project-id:asia-east1:my-sql-instance
Run Code Online (Sandbox Code Playgroud)
这是我配置连接的方式:
if (process.env.INSTANCE_CONNECTION_NAME) {
exports.mysqlConfig = {
user: process.env.GCLOUD_SQL_USERNAME,
password: process.env.GCLOUD_SQL_PASSWORD,
socketPath: '/cloudsql/' + process.env.INSTANCE_CONNECTION_NAME
}
} else {
// Use settings for localhost
}
Run Code Online (Sandbox Code Playgroud)
我正在使用node-mysql
模块连接到数据库.
App Engine和Cloud SQL已经在同一个项目中.我的理论是App Engine和Cloud SQL必须在同一个项目和同一个区域,但我不确定.
jer*_*mel 15
使用以下命令检查日志中的任何错误:
以下cmd gcloud app logs tail -s default
或,
您可能没有为项目启用Cloud SQL API:https://console.developers.google.com/apis/api/sqladmin/overview
确保在app.yaml中添加了以下设置
beta_settings:
# The connection name of your instance, available by using
# 'gcloud beta sql instances describe [INSTANCE_NAME]' or from
# the Instance details page in the Google Cloud Platform Console.
cloud_sql_instances: YOUR_INSTANCE_CONNECTION_NAME
Run Code Online (Sandbox Code Playgroud)
参考:https://cloud.google.com/appengine/docs/flexible/nodejs/using-cloud-sql-postgres
对于使用第二代云功能的任何人 - 他们在文档中添加了一部分:
如果您使用的是 Cloud Functions(第二代)而不是 Cloud Functions(第一代),则需要以下内容(另请参阅配置 Cloud Run):
他们继续列出所需的步骤。它们有点吓人,但最终还是有用的。
(如果您发现自己在新的 Cloud Run 修订版中寻找 SQL 连接,请注意有一个单独的“连接”选项卡)
归档时间: |
|
查看次数: |
4740 次 |
最近记录: |