具有lambda代理集成的Api网关破坏二进制输出

时间:2017-04-09 13:47:07

标签: aws-lambda binary-data aws-api-gateway

我有一个用Java编写的Lambda,我想从中输出二进制数据(即Excel电子表格)。我注意到Lambda返回的数据被Api Gateway变异。为了研究这个问题,我创建了一个简单的Lambda输出:

{
  "statusCode": 200,
  "headers": {},
  "body": "AOld",
  "isBase64Encoded": true
}

这对应于三个(十六进制)字节:

00 E9 5D

然后我在Api Gateway中设置了一个API。 API由根资源上的简单方法组成,其集成请求是Lambda函数,具有代理集成,指向上面的Lambda。我传入Content-Type和Accept标头,正在使用的内容类型被标记为二进制媒体类型。 但是,当它通过API网关时,我得到了

00 EF BF BD 5D

知道为什么Api Gateway会破坏我的二进制输出吗?

1 个答案:

答案 0 :(得分:0)

这个问题最终与Postman有关,我正在用它来查询。当我在命令行中通过curl进行查询时,问题就消失了。