使用API​​网关在Lambda中调整大小后,在浏览器上显示图像

时间:2017-08-08 13:09:34

标签: python image amazon-web-services amazon-s3 lambda

我正在尝试创建一个lambda函数,该函数调整s3中的图像大小并通过API网关对其进行响应。

请求转到API网关端点,它会触发lambda函数。 lambda函数调整它的大小并尝试将响应作为二进制文件给出,但它不能这样做。

我用Python开发了lambda函数。

这是我的API网关中的集成响应配置。 enter image description here

这是方法响应配置。 enter image description here

这是二进制支持配置。 enter image description here

调整代码大小没有任何问题,因为它可以调整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
    }

0 个答案:

没有答案