在运行nodejs + expressjs时访问aws-lambda上下文
我刚刚开始使用AWS-Lambda,AWS-API Gateway和ExpressJs。 我在查找“ExpressJs”应用程序中如何使用AWS-Lambda“上下文”时遇到问题。
我在用着:
- AWS-LAMBDA
- AWS-API网关
- NodeJs v4.3.2
- ExpressJs 4.14.1
- ClaudiaJs 2.7.0
在Aws Lambda中,我使用aws-serverless-express接收API网关请求并初始化节点应用程序。 以下是我从不同的教程中find的结构等
lambda.js(从API网关启动。在调用“app.js”时提供“context”variables)
'use strict' const awsServerlessExpress = require('aws-serverless-express') const app = require('./app') const server = awsServerlessExpress.createServer(app) exports.handler = (event, context) => awsServerlessExpress.proxy(server, event, context)
我app.jsexpression的核心是:
var express = require('express'); ... var app = express(); ... app.use('/', index); ... module.exports = app;
我的问题:
- 有没有办法使用这种结构来访问AWS-Lambda“上下文”?
- 如果不是的话,最好的“模式”是什么?
任何input赞赏。
您需要添加暴露event
和context
对象的aws-serverless-express包中包含的中间件。 你可以像这样添加它:
const awsServerlessExpressMiddleware = require('aws-serverless-express/middleware') app.use(awsServerlessExpressMiddleware.eventContext())
一旦configuration了这个中间件, event
和context
对象将被添加到请求中。 你可以像这样访问这些对象:
var event = req.apiGateway.event; var context = req.apiGateway.context;