Aws lambda 通过ALB在AWS lambda上返回自定义HTTP状态代码

Aws lambda 通过ALB在AWS lambda上返回自定义HTTP状态代码,aws-lambda,serverless-framework,aws-application-load-balancer,Aws Lambda,Serverless Framework,Aws Application Load Balancer,我正在研究AWS Lambda+应用程序负载平衡器ALB(无服务器框架)。我想在发生错误时返回一个自定义状态代码。但我总是收到状态码502的错误 def respond(err, res=None): return { "isBase64Encoded": False, "statusCode": 400 if err else 200, "statusDescription":

我正在研究AWS Lambda+应用程序负载平衡器ALB(无服务器框架)。我想在发生错误时返回一个自定义状态代码。但我总是收到状态码502的错误

def respond(err, res=None):
    return {
        "isBase64Encoded": False,
        "statusCode": 400 if err else 200,
        "statusDescription": "400 Bad request" if err else "200 OK",
        "headers": {
            "Set-cookie": "cookies",
            "Content-Type": "application/json"
        },
        "body": err.message if err else json.dumps(res)
    }

ef lambda_handler(event, context):
    print("Received event: " + json.dumps(event, indent=2))

    operations = {
        'DELETE': lambda ufun, x: ufun.delete_item(payload),
        'GET': lambda ufun, x: ufun.get_item(payload),
        'POST': lambda ufun, x: ufun.put_item(payload),
        'PUT': lambda ufun, x: ufun.update_item(payload),
    }

    operation = event['httpMethod']
    
    if operation in operations:
        payload = event['queryStringParameters'] if operation == 'GET' else json.loads(event['body'])
        return respond(None, operations[operation](ufun, payload))
    else:
        return respond(ValueError('Unsupported method "{}"'.format(operation)))
我错过什么了吗