Amazon web services BatchWriteItem(vtl-velocity模板语言)的Amazon Api网关Dynamodb主体映射模板问题

Amazon web services BatchWriteItem(vtl-velocity模板语言)的Amazon Api网关Dynamodb主体映射模板问题,amazon-web-services,amazon-dynamodb,aws-api-gateway,vtl,Amazon Web Services,Amazon Dynamodb,Aws Api Gateway,Vtl,我正在aws服务上的api网关上工作,该网关对dynamodb执行BatchWriteItem操作。但我知道一个BatchWrite操作最多有25个put项的限制。我是vtl的新手,我不知道如何处理超过25个put项目的请求。我正在写下我目前的身体模板 任何提示或帮助都将不胜感激。谢谢 主体映射模板: #set($inputRoot=$input.path('$')) { “请求项”:{ “传感器数据测试”:[ #foreach($inputRoot.sensorMessages中的元素) {

我正在aws服务上的api网关上工作,该网关对dynamodb执行BatchWriteItem操作。但我知道一个BatchWrite操作最多有25个put项的限制。我是vtl的新手,我不知道如何处理超过25个put项目的请求。我正在写下我目前的身体模板

任何提示或帮助都将不胜感激。谢谢

主体映射模板:

#set($inputRoot=$input.path('$'))
{
“请求项”:{
“传感器数据测试”:[
#foreach($inputRoot.sensorMessages中的元素)
{ 
“请求”:
{
“项目”:
{
“网关ID”:
{
“N”:“$inputRoot.gatewayMessage.gatewayID”
},
“传感器ID”:{
“N”:“$elem.sensorID”
},
“传感器名称”:{
“S”:“$elem.sensorName”
},
“应用程序ID”:{
“N”:“$elem.applicationID”
},
“网络ID”:{
“S”:“$elem.networkID”
},
“DataMessageGUID”:{
“S”:“$elem.dataMessageGUID”
},
“消息日期”:{
“S”:“$elem.messageDate”
},
“国家”:{
“N”:“$elem.state”
},
“原始数据”:{
“S”:“$elem.rawData”
},
“数据类型”:{
“S”:“$elem.dataType”
},
“数据值”:{
“S”:“$elem.dataValue”
},
“绘图值”:{
“S”:“$elem.plotValues”
},
“打印标签”:{
“S”:“$elem.plotLabels”
},
“信号强度”:{
“N”:“$elem.signalStrength”
},
“BatteryLevel”:{
“N”:“$elem.batteryLevel”
},
“待定更改”:{
“S”:“$elem.pendingChange”
}
}
}
}#如果($foreach.hasNext),#结束
#结束
]
},
“ReturnConsumedCapacity”:“总计”

}
无论您在velocity模板中执行什么操作,API网关仍然只会调用AWS集成一次。根据设计,无法进行多个后端集成调用来处理单个API网关调用。(虽然我们可以考虑在将来添加这个功能。)< /P>
如果您需要放置超过25项,我建议您让客户端循环这些项,并为每25项单独调用API。

我已经有了一个lambda函数来处理这个问题。我只是想直接写信给dynamodb,以消除额外的成本。我现在要和兰姆达一起去。非常感谢。