首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多路由ExpressJS应用程序的ClaudiaJs部署到AWS和API网关

具有多路由ExpressJS应用程序的ClaudiaJs部署到AWS和API网关
EN

Stack Overflow用户
提问于 2018-05-06 22:29:53
回答 1查看 451关注 0票数 0

我有一个有几条路线的ExpressJS项目

代码语言:javascript
复制
var app = new express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.static(path.join(__dirname, 'public')));
app.use('/car', car);
app.use('/bike', bike);
app.use('/bus', bus);
app.use('/train', train);
app.get('/',function(req,res){
  res.render('layout', { title: 'app example' });
});
module.exports = app

我已经将ClaudiaJS部署到AWS,并且部署似乎有效。

之后,我将配置AWS网关,以调用Lambda函数中的不同资源路径。我发现它对根路径“/”正常工作,但是当我尝试调用与API网关不同的资源路径时,我在API网关中得到了这个错误:

代码语言:javascript
复制
"You do not have permission to perform this action"

此外,我在Lambda函数中得到了以下消息:

代码语言:javascript
复制
"The API with ID XXXXXXXXX does not include a resource with path /car having an integration arn:aws:lambda:myzone:XXXXXXXXXXXXX:function:functioname on the GET method."

这是否可以用ClaudiaJS或Lambda函数中支持的配置(多个资源路径)来实现?有什么经验吗?

更新1:对于AWS Lambdas来说,这似乎是可能的。参见这里:Is it possible to connect API gateway with node routes in AWS lambda?不确定ClaudiaJS是否能够管理这个用例

更新2: ClaudiaJS在他们的支持组https://gitter.im/claudiajs/claudia中确认,将多路由ExpressJS应用部署到单个AWS是可能的,并将我推荐给https://livebook.manning.com/#!/book/serverless-apps-with-node-and-claudiajs/chapter-13/v-5/167,因此它在我这边看起来有些配置/调用错误。

更新3:成功调用2条路由:

代码语言:javascript
复制
app.get('/test', function (req, res) {
    res.send('Hello World test!');
});
app.get('/', function (req, res) {
    res.send('Hello World!');
});

获取{“消息”:“内部服务器错误”},用于在MongoDB上访问EC2的第三条路由。看上去是许可问题。

EN

回答 1

Stack Overflow用户

发布于 2018-05-07 17:35:41

最后,这个问题与ClaudiaJS无关。

它只需要使用EC2的内部IP,而不是外部IP,如本文所述,Invalid permission from Lambda to MongoDB in EC2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50205102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档