我正在研究图像处理API。在此过程中,将捕获屏幕的图像(.jpeg),并通过api网关POST'到lambda,然后将其上传到s3,然后使用open-cv进行检索并处理和提取文本。提取的文本将通过API网关作为响应返回。
我根据链接https://aws.amazon.com/blogs/compute/binary-support-for-api-integrations-with-amazon-api-gateway/设置请求参数
由于这不是lambda代理,因此集成响应和代码的设置与对类似查询的回答之一:https://kennbrodhagen.net/2016/01/31/how-to-return-html-from-aws-api-gateway-lambda/
相同。我已经检查了云监视,并且整个代码运行正确。也就是说,图像被保存,处理并从图像中提取了正确的文本。但是响应是“内部服务器错误”。
def lambda_handler(event, context):
......
value = {'camera': 'image', 'image_name': 'cropped_frame0.jpeg', 'bpm': '117',
'spo2': '97'}
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': json.dumps(value)
}
curl --request POST -H“接受:图像/ jpeg” -H“内容类型:图像/ jpeg” --data-binary“ @ cropped_frame0.jpeg” https://XXXXX.execute-api.us-east-1.amazonaws.com/prod
当我使用上面的curl张贴函数时,我得到{“ message”:“内部服务器错误”}
我期望将“值”作为输出(如代码中所示),因为我需要将此json输出加载到另一个api。
This image is the cloud watch log for the lambda invocation
this is the method response. maintained application/json empty