Я не могу подключиться к EC2 Postgres DB из своей функции лямбды
Я создал лямбда-функцию после события S3 createAll. В этой лямбда-функции мне нужно обновить данные в моей БД. То, что я сделал, я протестировал соединение с БД на локальном компьютере. Работает нормально. Однако после публикации в lambda все console.log внутри функции client.connect не будут запускаться. Я думал, что это будет разрешением моей лямбда-роли, поэтому я дал администратору доступ к этой роли. Кроме того, в правиле EC2 я делаю входящий трафик открытым для всех. и общительный для всех.
1. EC2 - это Ubuntu, Postgres как DB
2. Узлы для лямбда-функции
const { Client } = require('pg');
exports.handler = async (event,context,callback) => {
context.callbackWaitsForEmptyEventLoop = true;
var client = new Client({
host:'example.com',
port:5432,
user:'postgres',
password:'examplepassword',
database:'db'
});
console.log('start connecting db : log client');
client.connect().then(() => {
console.log('DB is connected');
const text1 = 'SELECT * FROM unime.lecture_content';
const text = 'INSERT INTO uni.institute_type(name) VALUES($1)
RETURNING *';
const values = ['Test Data 2'];
callback('DB Connected')
}).catch(e => {console.error('connection error', e.stack)
callback('DB failure',e.stack)
})
};
Мой пакет.json
{
"name": "node_postgres",
"version": "1.0.0",
"description": "node postgres api",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"deploy": " — zip-file fileb://Lambda-Deployment.zip",
"predeploy": "zip -r Lambda-Deployment.zip * -x *.zip *.log"
},
"keywords": [
"postgres"
],
"author": "JUNXILI",
"license": "ISC",
"dependencies": {
"pg": "^7.0.3"
}
}
![enter image description here](https://i.stack.imgur.com/feWWW.png)
Я хочу показать весь журнал в функции client.connect. пожалуйста, помогите мне спасибо