API网关中的AWS Lambda集成响应-{“消息”:“内部服务器错误”}

时间:2018-08-23 03:50:31

标签: python amazon-web-services response aws-api-gateway

我希望这不是重复的。我搜索了其他条目,但似乎都没有解决我遇到的问题。

我们有一个用Python 3.6编写的AWS Lambda函数。 Lambda函数是使用Lambda代理集成通过API网关执行的。该功能可以毫无问题地启动,并且处理可以毫无问题地执行。但是,无论我们似乎在尝试发送响应时做什么,客户端都会收到“ {{message”:“内部服务器错误”}”,我不知道这很重要,但是我们测试的客户端是Postman。

我们已经剥离了所有业务逻辑,并隔离了执行返回的代码,但仍然遇到同样的问题。

代码是:

    import json
    def lambdaTest(event, context)
        response = {}
        dummybody = {'body':'something'}
        response['statusCode'] = 200
        response['body'] = dummybody
        response["headers"] = {"Content-Type": "application/json"},
        return json.dumps(response)

我确定我做错了一些简单的事情,因为关于这个问题的帖子似乎并不多。非常感谢您的帮助。谢谢。

1 个答案:

答案 0 :(得分:3)

伙计们, 我知道了...一个愚蠢的问题和一件事,我对响应的格式没有意识到。愚蠢的问题是我将标头元素转换成数组,因为我有一个逗号(我看了100次却没看到)。但是,即使我注释掉设置标头,它仍然存在相同的问题。 我没有意识到的响应方面是,身体应该是一个字符串。因此,我不得不将要返回的JSON文档封装在字符串中。那解决了问题。

我希望这可以帮助其他人