我有一个名为“环境”的舞台变量设置。
我想在POST
请求中将其作为JSON的一部分传递。
示例:
舞台变量
JSON
{
"name": "Toli",
"company": "SomeCompany"
}
event
变量看起来应该是这样的;
{
"name": "Toli",
"company": "SomeCompany",
"environment": "development"
}
到目前为止,我能想到的最好的是以下映射模板(在Integration Request下):
{
"body" : $input.json('$'),
"environment" : "$stageVariables.environment"
}
然后在节点I中
exports.handler = function(event, context) {
var environment = event.environment;
// hack to merge stage and JSON
event = _.extend(event.body, {
environment : environment
});
....
答案 0 :(得分:3)
如果您的API网关方法使用 Lambda代理集成,则所有阶段变量都将通过event.stageVariables
对象提供。
对于我目前正在处理的项目,我创建了一个简单的函数,它遍历event.stageVariables
中的所有属性,并将它们附加到process.env
(例如:Object.assign(process.env, event.stageVariables);
)
答案 1 :(得分:1)
您建议使用映射模板传递变量,这是此类工作流程的推荐解决方案。
答案 2 :(得分:0)
您还可以访问$context
对象中的舞台名称。
整合请求:
{
"environment" : "$context.stage"
}