RDS-соединение с Sequelize никогда не вызывается в лямбда-функции - PullRequest
0 голосов
/ 25 апреля 2018

Я использую AWS AppSync с функциями Lambda в качестве распознавателей.Эти функции запрашивают RDS Postgres db (с 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));
};

Я видел этот пост, но безуспешно. Секвелизация кода, не выполняющегося внутри AWS Lambda

1 Ответ

0 голосов
/ 25 апреля 2018

Я нашел проблему. Мой RDS находился в другой группе безопасности, чем группа по умолчанию. Я должен был изменить это, чтобы заставить это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...