从未在 Lambda 函数中调用与 Sequelize 的 RDS 连接
Posted
技术标签:
【中文标题】从未在 Lambda 函数中调用与 Sequelize 的 RDS 连接【英文标题】:RDS connection with Sequelize is never called in Lambda function 【发布时间】:2018-10-05 06:10:40 【问题描述】:我将 AWS AppSync 与 Lambda 函数一起用作解析程序。 这些函数查询 RDS Postgres 数据库(使用 Sequelize)。
我的问题是,无论我做什么,我的查询都不会被触发。我的代码有什么问题?
import Context, Callback from 'aws-lambda';
import * as Sequelize from 'sequelize';
const sequelize = new Sequelize(
database: process.env.RDS_NAME,
username: process.env.RDS_USERNAME,
password: process.env.RDS_PASSWORD,
host: process.env.RDS_HOST,
port: 5432,
dialect: 'postgres',
pool: idle: 1000, max: 1
);
const options =
timestamps: false,
freezeTableName: true
;
const Node = sequelize.define(
'node',
nodeId:
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
,
slug:
type: Sequelize.STRING
,
options
);
export const getUser = async (
event: any,
context: Context,
callback: Callback
) =>
context.callbackWaitsForEmptyEventLoop = false;
Node.findAll(
where:
)
.then(nodes =>
console.log('nodes', nodes);
callback(null,
id: 1,
name: JSON.stringify(nodes)
);
)
.catch(err => callback(err));
;
我看过这篇文章,但没有成功。 Sequelize Code Not Executing Inside AWS Lambda
【问题讨论】:
【参考方案1】:我发现了问题。我的 RDS 位于与默认安全组不同的安全组中。我必须对其进行更改才能使其正常工作。
【讨论】:
以上是关于从未在 Lambda 函数中调用与 Sequelize 的 RDS 连接的主要内容,如果未能解决你的问题,请参考以下文章
从另一个未被调用的 Lambda 函数中调用 Lambda 函数