首页 文章

Amazon Lambda Java函数将png返回到API网关

提问于
浏览
1

我需要将一个PNG从Amazon Lambda Java函数返回到Amazon Rest API . 我用这样的函数原型构建了函数:

public static void generatePng(InputStream request, OutputStream response, Context context)

InputStream请求详细说明了需要写入映像的信息 . OutputStream响应是发回的,是一个png图像 . 我已经测试了代码并且知道编码到输出流中的图像是正确的,因为我的测试将其写入我可以在图像编辑器中看到的文件 .

我遇到的问题是从Lambda函数到API网关的响应连接 . 文档专门讨论String响应,但我的响应有效负载是二进制图像数据 .

在Lambda Integration Response中,我尝试添加以下 Headers 映射:

Content-Length integration.response.header.Content-Length
Content-Type integration.response.header.Content-Type

和一个正文映射:content-type:image / png和$ input.body模板

我还在Method Response部分添加了image / png的响应模型 .

在测试API时,对API调用的响应不会显示图像,而是显示以正确的png标头开头的图像的字符串转储:

例如:响应机构

?PNG


 IHDR?
 ??~LIDATx? ...

响应标头显示:{“Content-Type”:“image / png”}

有没有人知道如何配置Amazon API网关接受图像作为lambda函数调用的输出并将其正确地呈现给调用者?

1 回答

相关问题