NodeJS Api在AWS Lambda上给出内部服务器错误



我开发了一个无服务器API,它在无服务器离线的情况下工作得很好。它返回来自AWS RDS DB的行。但是当相同的部署在AWS Lambda上时,路由给了我内部服务器错误。我试过了:

  1. 已经为我的网关完成了部署API。
  2. 已返回成功呼叫的状态

我的代码如下:

app.js文件:

const express = require('express');
const app = express();
const bodyParser = require("body-parser");
app.use(bodyParser.json());
const cors = require('cors')
app.use(cors());
const client = require('./connection.js')

client.connect();
app.get('/',  (req, res) => {
res.send('Welcome to API that helps connect with Recruitment DB')
})
app.get('/users', async function (req, res) {
try {
const allProfiles = await client.query("SELECT * FROM public.portal_users");
res.status(200).send(allProfiles.rows);  
} catch (error) {
res.status(500).send("Error received: "+ error.message);
}
})
module.exports = app

serverless。yml文件:

service: portalserver
frameworkVersion: '3'
provider:
name: aws
memorySize: 2048
stage: dev
timeout: 15
runtime: nodejs12.x
region: ap-south-1
functions:
hello:
handler: handler.hello
events:
- http: 
path: /
method: get
cors: true
- http: 
path: /{proxy+}
method: any
cors: true

plugins:
- serverless-offline
custom:
serverless-offline:
noPrependStageInUrl: true

get/工作正常,但/用户返回内部服务器错误

好的,所以问题与访问有关。我为我的lambda函数创建了一个VPC来访问安全的AWS RDS数据库,它工作了。

最新更新