我正在尝试创建一个lambda函数,它从s3调整图像大小并通过API网关响应它 .

请求转到API网关 endpoints ,它会触发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
    }