python 返回空主体时来自 AWS lambda 的内部服务器错误

Internal Server Error from AWS lambda in python when returning empty body

我在 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": [],
    }

问题是 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": "[]",
    }