Postgresql 错误请使用AWS Lambda无服务器框架手动安装pg软件包
最近,部署我的无服务应用程序让我头疼不已 我有一个连接到Postgresql数据库的lambda函数。要部署我的应用程序,我使用无服务器框架 因此,在测试代码时执行代码后,我得到以下错误: 请手动安装pg软件包 但是,我已经在package.json上安装了pg 尽管如此,错误还是发生了Postgresql 错误请使用AWS Lambda无服务器框架手动安装pg软件包,postgresql,amazon-web-services,aws-lambda,serverless,Postgresql,Amazon Web Services,Aws Lambda,Serverless,最近,部署我的无服务应用程序让我头疼不已 我有一个连接到Postgresql数据库的lambda函数。要部署我的应用程序,我使用无服务器框架 因此,在测试代码时执行代码后,我得到以下错误: 请手动安装pg软件包 但是,我已经在package.json上安装了pg 尽管如此,错误还是发生了 那么,如果pg安装正确,为什么会出现这个错误呢?在数小时的搜索和更改代码后,我决定从头开始重构代码 我去掉了serverless中的所有插件,输入了原始代码,一切正常 有了这个我就有了方向。我的一些无服务器插件
那么,如果pg安装正确,为什么会出现这个错误呢?在数小时的搜索和更改代码后,我决定从头开始重构代码 我去掉了serverless中的所有插件,输入了原始代码,一切正常 有了这个我就有了方向。我的一些无服务器插件中断了我与Postgresql的连接 所以,在测试之后,我得到了突破,因为我使用的插件优化了我的应用程序 经过搜索,我在包裹上找到了答案 要将Sequelize包与pg一起使用,您需要从Webpack中忽略它,并使用DiagnosticModule选项。在这里阅读更多 在serverless.yml中:
custom:
bundle:
ignorePackages:
- pg-native
在你的Lambda代码中:
const sequelize = new Sequelize(
process.env.DB_NAME,
process.env.DB_USERNAME,
process.env.DB_PASSWORD,
{
host: process.env.DB_HOST,
dialect: process.env.DB_DIALECT,
dialectModule: pg
}
);
就这样