Я хочу связать свою таблицу RDS Database с моей лямбда-функцией, для этого я создал лямбда-функцию и использовал базы данных knex.js и postgres в rds, получил объект knex, но не могу работать ни с одним запросом.
Чтобы дать больше информации об услугах,
- Группа безопасности сервера базы данных RDS может быть доступна из любого места
- Я дал vpc в файле serverless.yml в функции.
- Регион лямбды и rds разные, но не уверен, что это проблема.
Моя функция без сервера
- примечание: этот код knex работает, когда я пробовал это отдельно.
module.exports.storeTransaction = async (event) => {
...
knex('Transactions')
.select('*')
.then(response => {
console.log('response is ');
console.log(response);
})
...
};
файл Serverless.yml
service: <service-name>
provider:
name: aws
runtime: nodejs8.10
stage: dev
region: us-east-1
package:
exclude:
- node_modules/**
plugins:
- serverless-plugin-include-dependencies
functions:
storeEmail:
handler: handler.storeTransaction
vpc:
securityGroupIds:
- <security-group-id-of-rds>
subnetIds:
- <subnet-id-of-rds>
- <subnet-id-of-rds>
...
region:
- us-east-1a
events:
- http:
path: email/store
method: post
cors: true
Итак, вы можете определить мою проблему, почему я не могу подключить свой rds db к лямбда-функции, и сообщить мне, что я сделал неправильно или чего не хватает.