如何在HTTP代理的集成请求中修改AWS API Gateway中的查询参数

时间:2016-06-24 20:28:44

标签: amazon-web-services aws-lambda aws-api-gateway

我有一个面向API的客户端,它接受一个查询参数Time。格式为14:00:00。最初它会将此查询参数传递给后端端点。然而,后端端点(我无法控制)现在需要格式为0001-01-01T14:00:00的时间。

是否可以在AWS API Gateway中传递查询参数值之前修改它的值?

我知道您可以使用映射模板修改请求正文,并且在模板中您可以访问queryParameters,但是您可以更改它们以便修改实际请求到后端?

我看到了这个:

  

https://forums.aws.amazon.com/thread.jspa?messageID=696524&#696524

但是用户说他放弃了尝试修改

我现在能想到的潜在解决方法是将参数传递给lambda并使用lambda构建并使用修改后的值生成请求,并将响应作为lambda的返回值

2 个答案:

答案 0 :(得分:1)

我认为你基本上回答了你自己的问题:)

  1. 无法转换查询或标头请求参数。所有转换都需要在正文映射模板中进行。
  2. 最佳解决方法是将请求转发到Lambda函数以将参数按到预期的形状

答案 1 :(得分:0)

目前,您可以使用速度模板来覆盖“映射模板”中的查询字符串,例如:

$context.requestOverride.querystring.time="_your_transformed_data_"

docs