Выполняет ли бессерверное выполнение функции локально при развертывании? - PullRequest
0 голосов
/ 06 мая 2020

Я использую плагин lalalambda, Knex и schwifty.

Каждый раз, когда я развертываю свою функцию nodejs через sls deploy, кажется, что клиент pg в Knex пытается установить соединение с моим Aurora Postgre db.

Создает ли Knex бессерверное sh соединение при развертывании, или это бессерверное соединение, которое выполняет функцию локально?

Я спрашиваю, потому что я есть функция узла, которая требует доступа к моему экземпляру RDS Postgre, который находится на частном VP C. У меня есть все группы безопасности и настройки vp c, указанные в моем serverless.yml. Проблема возникает при развертывании. Я должен быть подключен к нашей VPN, чтобы sls deploy работал, потому что он пытается установить sh соединение с базой данных при развертывании.

Есть ли способ обойти это получение локального соединения моей частной DB?

Вот ошибка, которую я вижу:

Knex Timeout Error -------------------------------------
  KnexTimeoutError: Could not connect to database using schwifty knex instance for models: "UserFeedback", "ModelQuestion", "ServiceUser".: Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx) call?
      at Client_PG.acquireConnection (/myrepo/node_modules/knex/lib/client.js:347:26)
...