首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用API网关POST方法将数据添加到DynamoDB中

无法使用API网关POST方法将数据添加到DynamoDB中
EN

Stack Overflow用户
提问于 2019-10-21 05:49:02
回答 1查看 271关注 0票数 0

我在亚马逊网络服务控制台上做了一个无服务器API后端,它使用了API Gateway,DynamoDB,Lambda函数。

在创建之后,我可以通过添加一个dynamoDB文件在JSON online中添加数据,如下所示:

代码语言:javascript
运行
复制
{
  "id": "4",
  "k": "key1",
  "v": "value1"
}

但是当我尝试使用"Postman“来添加它时,通过在POST消息的正文中添加上面的JSON数据,我得到了一个肯定的返回(即没有错误),但数据库中只添加了"id”字段,而没有添加"k“或"v”字段。

遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-10-21 16:55:07

我认为你需要检查一下你的Lambda函数。

由于您使用Postman进行接口调用,因此收到的事件的body将如下所示:

代码语言:javascript
运行
复制
{'resource':
...
}, 'body': '{\n\t"id": 1,\n\t"name": "ben"\n
}', 'isBase64Encoded': False
}

如你所见:

代码语言:javascript
运行
复制
'body': '{\n\t"id": 1,\n\t"name": "ben"\n}'

例如,在这种情况下,我将使用Python3,我需要做的是将主体加载为JSON格式,然后我们就可以使用它了。

代码语言:javascript
运行
复制
result = json.loads(event['body'])
id = result['id']
name = result['name']

然后将它们更新到DynamoDB

代码语言:javascript
运行
复制
item = table.put_item(
        Item={
        'id': str(id),
        'name': str(name)
        }
    )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58477616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档