【发布时间】:2017-06-24 00:01:49
【问题描述】:
我试图弄清楚如何通过 AWS 中的 API 网关将动态数据插入到 dynamodb 表中。目前我有一个 dynamodb 表和一个 API 端点设置,可以接受这样的 POST。
POST https://{unique-id}.execute-api.us.east-1.amazonaws.com/notification/events
{
"reference_number": 99,
"purchase_date": "1/1/2017"
}
我在 API 网关中设置了一个身体映射模板,以将数据按摩到 dynamodb 中。
{
"TableName": "Events",
"Item": {
"reference_number": {
"N": "$input.path('$.reference_number')"
},
"purchase_date": {
"S": "$input.path('$.purchase_date')"
}
}
}
上述工作并保存到表中。
假设我将事件哈希添加到我的 json 中(可以根据事件进行更改)。
{
"reference_number": 99,
"purchase_date": "1/1/2017",
"event": {
"name": "purchase",
"items": [1,3,6],
"info": {
"currencyID": "USD",
"countryID": "US"
}
}
}
如何使用 API Gateway Body 映射模板语法将事件属性保存到 dynamodb 中的 Map?
{
"TableName": "Events",
"Item": {
"reference_number": {
"N": "$input.path('$.reference_number')"
},
"purchase_date": {
"S": "$input.path('$.purchase_date')"
},
"event":{
"M": "$input.path('$.event')"
}
}
}
上面的模板给了我以下错误。 "预期地图或为空"
【问题讨论】:
-
你试过
"event": { "M": "$input.json('$.event')" }吗? -
不走运,我得到一个序列化异常。 "__type":"com.amazon.coral.service#SerializationException"
标签: amazon-web-services amazon-dynamodb aws-api-gateway