我正在尝试创建一个lambda函数,它从s3调整图像大小并通过API网关响应它 .
请求转到API网关 endpoints ,它会触发lambda函数 . lambda函数调整它的大小并尝试将响应作为二进制文件给出,但它不能这样做 .
我用Python开发了lambda函数 .
这是我的API网关中的集成响应配置 .
这是方法响应配置 .
这是二进制支持配置 .
调整代码大小没有任何问题,因为它可以调整s3上的图像大小并将其成功上载到resize s3存储桶中 . 但是当我尝试将其作为二进制响应时,API网关无法响应它,我不知道为什么 .
这是Lambda中的响应代码 .
upload_path = /tmp/resized-test.jpg
with open(upload_path, 'rb') as f:
image_content = f.read()
encoded_string = str(binascii.hexlify(image_content))
return {
'header': {
'Content-Type': content_type
},
'body': encoded_string
}