2017-04-09 114 views
1

我有一个用Java编写的Lambda,我想从中输出二进制数据(即Excel电子表格)。我注意到由Lambda返回的数据由Api Gateway进行了变异。为了研究这个问题,我创建了一个简单的λ,输出:使用lambda代理集成mangles二进制输出的Api网关

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

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

00 E9 5D 

我然后设置在API网关的API。 API包含一个简单的根资源方法,它的集成请求是一个Lambda函数,带有代理集成,指向上面的Lambda。我正在传入Content-Type和Accept标头,并且正在使用的内容类型被标记为二进制媒体类型。 当此通过API网关,不过,我得到

00 EF BF BD 5D 

任何想法,为什么API网关的重整我的二进制输出?

+0

我试图复制这个,并且我还没有成功。你能否确认你在更改api配置后重新调用了你的API? –

回答

0

这个问题最终发生在我用来做我的查询的邮差。当我在命令行中通过curl执行查询时,问题就消失了。