【发布时间】:2016-05-04 03:31:02
【问题描述】:
我在尝试使用 API Gateway 作为 DynamoDB 的代理时遇到问题。
如果我知道我想要存储的数据的结构,基本上它会很好用,但无论负载结构如何,我都无法使其动态化。
有许多网站解释了如何使用 API Gateway 作为 DynamoDB 的代理。 不过,我发现没有一个解释如何存储 JSON 对象。
基本上我将此 JSON 发送到我的 API 端点:
{
"entryId":"abc",
"data":{
"key1":"123",
"key2":123
}
}
如果我使用以下模板进行映射,则数据会正确放入我的数据库中
{
"TableName": "Events",
"Item": {
"entryId": {
"S": "abc"
},
"data": {
"M": {
"key1": {
"S": "123"
},
"key2": {
"N": "123"
}
}
}
}
}
但是,我不知道“数据”的结构,因此为什么我希望映射是动态的,甚至更好的是,我想完全避免任何映射。
我设法让它变得动态,但我现在所有的条目都是字符串类型:
"data": { "M" : {
#foreach($key in $input.path('$.data').keySet())
"$key" : {"S": "$input.path('$.data').get($key)"}#if($foreach.hasNext),#end
#end }
}
是否可以动态获取类型? 我还不太确定 API Gateway 映射是如何工作的。
感谢您的帮助。
赛博
【问题讨论】:
-
这让我想起了 Java 中的反射:oracle.com/technical-resources/articles/java/…
标签: amazon-web-services amazon-dynamodb aws-api-gateway