将Lambda输出映射到API网关标头

时间:2015-07-30 12:29:35

标签: aws-lambda aws-api-gateway

我正在尝试将Lambda函数的JSON输出映射到API网关调用的标头。作为示例,我们可以考虑重定向方案。所以我想在API网关调用的响应中添加Location标头。

Lambda函数的JSON输出:

{
    Location: 'http://google.com'
}

在“方法响应”中 - >“响应标头”我可以将Location标头添加到所需的HTTP状态代码中。

然后在“集成响应” - >“标题映射”中,我可以将Location标题的映射添加为某些内容

现在我的问题是某事应该是什么?

注意:我已尝试过integration.response.header.Location或使用“制图模板”但到目前为止没有运气。

目前可能无法实现(https://forums.aws.amazon.com/thread.jspa?messageID=651482),但由于API Gateway / Lambda正在快速发展,我现在还会问。

5 个答案:

答案 0 :(得分:10)

截至今天(2016年1月),只需在您的案例中指定frmMain.GetInstance().Show() Form1.GetInstance().Show() Form1.GetInstance().Hide() Form2.GetInstance().ShowDialog() 即可。

答案 1 :(得分:6)

今天(2015年11月12日),我一直在寻找如何将我的后端API中的Location标头传递到集成响应中的Location标头。

此配置有效,我可以从后端api获取Location标头:

enter image description here

看起来Tobias提出的解决方案目前是可行的。但是,Location标头指向后端API,这不是我们想要的。我会尝试为此找到解决方案并在此处发布。

答案 2 :(得分:4)

今天(2015年9月25日)在AWS开发者论坛上,这还不可能,但可能会在未来出现:

  

API Gateway目前不支持从集成响应正文到响应标头的映射,但我们希望将来添加对此的支持。

Forum post here

编辑2015年12月:在上面链接的主题中,AWS员工根据帖子添加的功能。感谢Peter Fox指出了这一点。

答案 3 :(得分:1)

实际上,您似乎可以访问原始响应提供的所有标头(如果它包含内容类型,那么您可以输入: integration.response.header.Content型)。但是,我没有找到任何方法来添加新的标头(静态除外)。

答案 4 :(得分:0)

我知道自从被问到已经有一段时间了,但是您现在可以设置:

如果您在响应标题中设置了

integration.response.header.Location (请注意,在Mapping值中为大写L),

Example