使用lambda函数集成(不使用代理集成)的AWS APIGateway自定义标头

时间:2019-09-24 23:56:22

标签: json amazon-web-services aws-lambda

我正在使用API​​网关与lambda函数集成。集成类型为“ Lambda函数”,并且未选中“使用Lambda代理集成”。我正在使用字段映射和标头映射等。我能够为成功方案的请求和响应都映射字段和标头。

enter image description here 现在,我有一个要求,API使用者将向我传递一个transactionID,对于所有成功和失败的情况,我都必须将其返回给使用者。在成功的情况下,我可以将其映射回去,但是如果来自lambda的错误响应(当lambda函数引发异常)时,我将无法将其映射回标头。

原因是,如果发生错误响应,则从lambda函数返回自定义对象的唯一方法是返回字符串化的json。可以使用$ util.parseJson()函数在响应模板部分中解析此字符串化的json,但是我无法在标头映射部分中找到使用此函数的方法。如果不解析此字符串化的json,则在发生错误响应的情况下,我看不到任何其他选择来从lambda函数中设置标头值。

此处的AWS文档(https://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html)仅具有成功的示例(http状态200)。

其他任何人以前都遇到过这种情况吗?除了使用Lambda代理集成之外,还有其他解决方案吗?我不想使用Lambda代理集成,因为这将需要我复制lambda函数,因为我有两个使用者,并且我想使用字段映射向每个使用者发送不同的响应。

0 个答案:

没有答案