返回空正文时来自python中AWS lambda的内部服务器错误

Posted

技术标签:

【中文标题】返回空正文时来自python中AWS lambda的内部服务器错误【英文标题】:Internal Server Error from AWS lambda in python when returning empty body 【发布时间】:2022-01-21 06:03:14 【问题描述】:

我在 AWS Lambda 函数中收到带有以下代码的 500 Internal Server Error,但我不知道为什么。 python代码在本地运行良好,没有任何异常。

def lambda_handler (event, context):
    return 
        "statusCode": 200,
        'headers': 
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'OPTIONS,POST,GET'
        ,
        "body": [],
    

【问题讨论】:

【参考方案1】:

问题是body 必须是字符串。对象将不起作用。

我花了一个小时左右才弄清楚的(非常简单的)解决方案:

def lambda_handler (event, context):
    return 
        "statusCode": 200,
        'headers': 
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'OPTIONS,POST,GET'
        ,
        "body": "[]",
    

【讨论】:

以上是关于返回空正文时来自python中AWS lambda的内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

从帖子正文读取时,AWS API 网关 CORS 错误

AWS Lambda NodeJS导入返回空模块,但仅在AWS中

来自 React 的 Express POST 请求返回空正文

AWS Lambda 错误:当 url 参数包含 JSON 数组时,“无法将请求正文解析为 json”

HTTP 请求正文未通过 AWS API Gateway 访问 AWS lambda 函数

Javascript AWS SDK S3上传方法与正文流生成空文件