Dynamo에 BatchWriteItem 연산을 수행하는 aws 서비스의 API 게이트웨이에서 작업 중입니다. 하지만 하나의 BatchWrite 작업에 대해 최대 25 개의 항목 제한이 있다는 것을 알고 있습니다. Im는 vtl에 익숙하지 않고 Im은 25 개 이상의 put 항목이있는 요청을 처리하는 방법을 모릅니다. 내 현재의 몸매 틀을 쓰고 있어요.BatchWriteItem (vtl - 속도 템플릿 언어)에 대한 Amazon Api Gateway Dynamob 본문 매핑 템플릿 문제
힌트 또는 도움을 주실 수 있습니다. 감사.
바디 매핑 템플릿 :
상관없이 당신이 당신의 속도 템플릿에 무엇을#set($inputRoot = $input.path('$'))
{
"RequestItems": {
"SensorDataTest": [
#foreach($elem in $inputRoot.sensorMessages)
{
"PutRequest":
{
"Item":
{
"GatewayID":
{
"N": "$inputRoot.gatewayMessage.gatewayID"
},
"SensorID": {
"N": "$elem.sensorID"
},
"SensorName": {
"S": "$elem.sensorName"
},
"ApplicationID": {
"N":"$elem.applicationID"
},
"NetworkID": {
"S":"$elem.networkID"
},
"DataMessageGUID": {
"S":"$elem.dataMessageGUID"
},
"MessageDate": {
"S":"$elem.messageDate"
},
"State": {
"N":"$elem.state"
},
"RawData": {
"S": "$elem.rawData"
},
"DataType": {
"S": "$elem.dataType"
},
"DataValue": {
"S": "$elem.dataValue"
},
"PlotValues": {
"S": "$elem.plotValues"
},
"PlotLabels": {
"S": "$elem.plotLabels"
},
"SignalStrength": {
"N":"$elem.signalStrength"
},
"BatteryLevel": {
"N": "$elem.batteryLevel"
},
"PendingChange": {
"S": "$elem.pendingChange"
}
}
}
}#if($foreach.hasNext),#end
#end
]
},
"ReturnConsumedCapacity": "TOTAL"
}
이미이 문제를 처리하는 람다 함수가 있습니다. 방금 추가 비용을 없애기 위해 dynamodb에 직접 쓰고 싶었습니다. 나는 지금 람다와 함께 갈 것이다. 고맙습니다. –