我有一个Lambda函数,它是对API的基本
Python GET调用.它在本地工作正常,但是当我上传到Lambda(以及请求库)时,它不会从API调用返回JSON响应.我只是希望它将整个JSON对象返回给调用者.我在这里做了一些根本错误的事情 – 我偶然发现了几篇文章说不支持从Lambda Python函数返回JSON.
这是代码:
import requests
import json
url = "http://url/api/projects/"
headers = {
'content-type': "application/json",
'x-octopus-apikey': "redacted",
'cache-control': "no-cache"
}
def lambda_handler(event, context):
response = requests.request("GET", url, headers=headers)
return response
我的包中包含请求库和dist,以及json库(我不认为它需要这个).返回的错误消息是:
{
"stackTrace": [
[
"/usr/lib64/python2.7/json/__init__.py",
251,
"dumps",
"sort_keys=sort_keys, **kw).encode(obj)"
],
[
"/usr/lib64/python2.7/json/encoder.py",
207,
"encode",
"chunks = self.iterencode(o, _one_shot=True)"
],
[
"/usr/lib64/python2.7/json/encoder.py",
270,
"iterencode",
"return _iterencode(o, 0)"
],
[
"/var/runtime/awslambda/bootstrap.py",
41,
"decimal_serializer",
"raise TypeError(repr(o) + \" is not JSON serializable\")"
]
],
"errorType": "TypeError",
"errorMessage": " is not JSON serializable"
}