用于在AWS DynamoDB中的表中放置新项的JSON主体

时间:2018-03-02 16:53:39

标签: amazon-web-services amazon-dynamodb

我正在尝试进行HTTP POST以将项目放入DynamoDB表(称为“策略”)

我正在努力获得正确的格式。该项只有一个键是“PolicyNumber”,另外一个项目我正在添加名为“Name”

我的JSON如下: -

{\"TableName\":\"Policy\",\"Item\":
{\"PolicyNumber\":\"S\":\"10001\"},\"Name\":{\"S\":\"Test10001\"}}}

我收到如下错误(显然都是一个字符串): -

{
"statusCode": "400",
"body": "One or more parameter values were invalid: Type mismatch for key 
PolicyNumber expected: S actual: M",
"headers": {
"Content-Type": "application/json"
}
}

如果我运行GET列出已存在的项目,我会得到以下响应(通过控制台添加这些项目): -

{
"statusCode": "200",
"body": "{\"Items\":[{\"PolicyNumber\":\"12345\",\"Name\":\"Fred\"},{\"PolicyNumber\":\"78787\",\"Name\":\"Bill\"}],\"Count\":2,\"ScannedCount\":2}"
,
"headers": {
"Content-Type": "application/json"
}

}

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

编辑:

  • 解决方案:

{ "S": "10001" }替换为"10001"{ "S": "Test10001" }的{​​{1}}

类型是隐含的。

  • 旧答案:

"Test10001"之后缺少{。你应该有这个JSON:

PolicyNumber

详细了解AWS DynamoDB PutItem here