Kon*_*iak 8 amazon-web-services node.js express aws-lambda
我刚开始使用 AWS-Lambda、AWS-API Gateway 和 ExpressJs。我在我的“ExpressJs”应用程序中找不到 AWS-Lambda“上下文”是如何可用的。
我正在使用:
在 Aws Lambda 中,我使用 aws-serverless-express 接收 API-Gateway 请求并初始化节点应用程序。以下是我从不同的教程等中找到的结构
lambda.js(从 API-Gateway 启动。在对“app.js”的调用中提供“context”变量)
'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)
Run Code Online (Sandbox Code Playgroud)
我的 app.js express 的核心是:
var express = require('express');
...
var app = express();
...
app.use('/', index);
...
module.exports = app;
Run Code Online (Sandbox Code Playgroud)
我的问题:
任何输入表示赞赏。
Mar*_*k B 12
您需要添加 aws-serverless-express 包中包含的中间件,该包公开event
和context
对象。你像这样添加它:
const awsServerlessExpressMiddleware = require('aws-serverless-express/middleware')
app.use(awsServerlessExpressMiddleware.eventContext())
Run Code Online (Sandbox Code Playgroud)
一旦配置了这个中间件event
,context
对象就会被添加到请求中。您可以像这样访问这些对象:
var event = req.apiGateway.event;
var context = req.apiGateway.context;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2431 次 |
最近记录: |