代理Kinesis后,从AWS API Gateway返回1x1像素图像

时间:2018-12-25 23:11:31

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

我正在尝试在Kinesis前面安装一个AWS API Gateway终端节点,该终端节点可用作跟踪像素。因此,在html页面上可能会有一个,它将获得1x1的透明图像。

我已经弄清楚了如何执行从API网关到Kinesis的集成请求,将传入的参数转换为base64编码的字符串以及Kinesis json格式。

但是我很难在成功的情况下如何从API端点返回1x1透明png图像。

我创建了方法响应为200的响应主体,其内容类型为“ image / png”,并且模型为空。然后,我从{{> 3

我希望模板中的base64编码png图像可以通过API Gateway转换为二进制文件并返回,以及内容类型image / png

相反,我的API网关日志中出现“由于配置错误而导致执行失败:无法转换响应”错误,并且api返回了500个代码和application / json内容类型。

我还在舞台设置的“二进制媒体类型”中添加了image / png。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我可以这样:

  1. 在lambda中将Content-Type设置为“ imaga / png”
  2. 在集成响应的映射模板中添加“ text / html”。
#set($context.responseOverride.header.Content-Type = $input.path('$').header.Content-Type)
$input.path('$').body
  1. 将响应正文的内容类型设置为“ text / html”,并将“模型”设置为空。