Как подключиться к базе данных конкретного клиента в среде AWS Lambda/API Gateway и NodeJS Sequalize

#aws-lambda #sequelize.js #multi-tenant

Вопрос:

Я пытаюсь реализовать многопользовательскую аренду в бессерверной базе данных проекта AWS-это RDS-PGSQL, и политика заключается в создании отдельной схемы БД для каждого арендатора в одном кластере.

У нас есть несколько API-интерфейсов REST, которые имеют обработчики в качестве функций AWS lambda. Все эти функции lambda содержат проект NodeJS Для доступа к базе данных, которую мы используем, и она инициализируется при появлении функции lambda (по. /models/index.js) Я хочу, чтобы sequalize мог подключать пользовательскую базу данных, идентификатор которой получен из полезной нагрузки REST API

Я пытался использовать крючок beforeConnect для sequalize, но для этого требуется, чтобы идентификатор пользователя был где-то сохранен, чтобы он мог его забрать, назначить конфигурации и двигаться дальше. Но со мной это не так, поскольку идентификатор пользователя входит в полезную нагрузку, и как только я анализирую данные о событиях в своей лямбда-функции, я получаю эту информацию.

Может ли кто-нибудь помочь мне понять, как этого можно достичь?