我想部署我的节点应用程序到应用引擎,并使用云sql mysql和后遗症用于ORM,但我在部署时得到以下错误,没有进一步的信息需要调试。
我的yaml是(带有经过编辑的详细信息):
env: flex
runtime: nodejs
env_variables:
SQL_USER: -
SQL_PASSWORD: -
SQL_DATABASE: -
INSTANCE_CONNECTION_NAME: -
beta_settings:
cloud_sql_instances: -
无法连接到SQL数据库:未定义未捕获错误{文件名:“/app/node_modules/sequelize/lib/dialts/mysql/connection-manager.js”,行:133,行:19,消息:“connect ENOENT/cloudsql/app:europe-west1:db”,类型:“sequelizeConnectionError”,堆栈:“sequelizeConnectionError:connect ENOENT/cloudsql/app:europe-west1:db\n在promise.tap.then.catch.errase/async.js:131:9)\n在async._drainqueues(/app/node_modules/bluebird/js/release/async.js:147:5)\n在immediate.async.drainqueues[as_onimmediate](/app/node_modules/bluebird/js/release/async.js:17:14)\n在runCallback(timers.js:705:18)\n在tryOnImmediate(timers.js:676:5)\n在
ORM代码:
const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASS, {
dialect: 'mysql',
host: '/cloudsql/app:europe-west1:db',
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
dialectOptions: {
socketPath: '/cloudsql/app:europe-west1:db'
},
logging: false
});
首先,您的app.yaml
不应该有beta_settings:
缩进:
...
INSTANCE_CONNECTION_NAME: <YOUR_INSTANCE_CONNECTION_NAME>
beta_settings:
cloud_sql_instances: <YOUR_INSTANCE_CONNECTION_NAME>
接下来,unix套接字位于/cloudsql/
。您应该使用app.yaml
中指定的环境变量以编程方式设置:
socketPath: util.format('/cloudsql/%s', process.env.INSTANCE_CONNECTION_NAME), // '/cloudsql/<YOUR_INSTANCE_CONNECTION_NAME>`
您还可以在app.yaml
中指定sql_user
、sql_password
和sql_database
作为环境变量,但可以调用process.env.db_user
、process.env.db_pass
和process.env.db_name
。如果您希望它们具有任何值,则它们需要保持一致。
最后,Sequelize对如何最好地使用unix套接字有点不清楚-host
和dialtoptions.socketpath
可能不应该同时设置。从后遗症文档来看,我建议只使用socketpath
:
const sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASS, {
dialect: 'mysql',
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
dialectOptions: {
socketPath: util.format('/cloudsql/%s', process.env.INSTANCE_CONNECTION_NAME),
},
logging: false
});
部署过程中出错:部署应用程序[EnterpriseApplication1]时出现异常:UnsupportedClassVersionError:类mn.interactive.module.meta.dao.MetadataDao的主要或次要版本号不受支持,这些版本号大于Java Runtime Environment版本1.7.0_02中的版本号。有关详细信息,请参阅server.log。 将
我已经设置和快速服务器上运行Firebase云功能。现在,我试图使用CLI使用“Firebase部署-仅函数”将其部署到Firebase,但每次都失败,说有一个意外的令牌。我怀疑在index.js文件中使用异步箭头函数有问题,但我不确定,我也需要它们来完成我的项目。 这是索引。js文件: 以下是我在尝试运行firebase deploy(仅限函数)时遇到的错误: ==部署到“homunculus-
我正在尝试通过GitLab CI/CD将云函数从GitLab中的存储库部署到Google云函数。我得到了标题和下面的错误。 错误:(gcloud.functions.deploy)ResponseError:status=[403],code=[probled],message=[Permission'cloudfunctions.functions.get'denied on resource'
我正在使用cloud函数部署python函数(版本=3.7,内存=1go,超时=1s)。 到目前为止,它非常有效。 但是,我注意到,默认情况下,云函数将其区域设置为。我需要我的函数在中,所以我使用
我有一个错误与terraform代码,而部署GCP作曲家资源: google_composer_environment.composer-beta: googleapi:错误400:属性密钥必须是形式-。不能包含开始方括号、结束方括号或连字符,并且不能包含分号或等号。整个属性密钥可能不包含句点。, badRequest 在部署GCP资源时,会出现以下问题:https://www.terraform
我试图在GlassFish server 4.1.0中部署ADF 12.1.3应用程序,但在部署过程中出现以下错误:将ADF essentials 3.1.2复制到GlassFish中的lib文件夹,ADF应用程序为12.1.3版本,GlassFish版本为4.1.0 部署过程中发生错误:部署应用程序时出现异常[MegatronApplicationOCS_07012015]:org.xml.sa