我在亚马逊网络服务控制台上做了一个无服务器API后端,它使用了API Gateway,DynamoDB,Lambda函数。
在创建之后,我可以通过添加一个dynamoDB文件在JSON online中添加数据,如下所示:
{
"id": "4",
"k": "key1",
"v": "value1"
}
但是当我尝试使用"Postman“来添加它时,通过在POST消息的正文中添加上面的JSON数据,我得到了一个肯定的返回(即没有错误),但数据库中只添加了"id”字段,而没有添加"k“或"v”字段。
遗漏了什么?
发布于 2019-10-21 16:55:07
我认为你需要检查一下你的Lambda函数。
由于您使用Postman进行接口调用,因此收到的事件的body将如下所示:
{'resource':
...
}, 'body': '{\n\t"id": 1,\n\t"name": "ben"\n
}', 'isBase64Encoded': False
}
如你所见:
'body': '{\n\t"id": 1,\n\t"name": "ben"\n}'
例如,在这种情况下,我将使用Python3,我需要做的是将主体加载为JSON格式,然后我们就可以使用它了。
result = json.loads(event['body'])
id = result['id']
name = result['name']
然后将它们更新到DynamoDB中
item = table.put_item(
Item={
'id': str(id),
'name': str(name)
}
)
https://stackoverflow.com/questions/58477616
复制相似问题