我在DynamoDB中有两个表,它们都有相同的列/键" sessionid"。使用AWS API网关我想在传递列#34; sessionid"的值时从两个表中获取和显示记录。
目前,我的映射模板如下所示,它仅从Table1中检索记录: 集成请求 -
{
"TableName": "Table1",
"KeyConditionExpression": "sessionid = :v1",
"ExpressionAttributeValues": {
":v1": {
"S": "$input.params('sessionid')"
}
}
}
整合响应 -
#set($inputRoot = $input.path('$'))
{
"Table1": [
#foreach($elem in $inputRoot.Items) {
"sessionid": "$elem.sessionid.S",
"rowId": "$elem.rowId.S"
}#if($foreach.hasNext),#end
#end
]
}
如何整合第二张表的映射"表2"在上面的映射中,两个表中的记录是在单个API调用中检索的吗?
您的建议会有所帮助。
答案 0 :(得分:0)
API网关只能进行一次下游API调用。不幸的是,似乎DynamoDB API仅支持用于扫描/查询/ GetItem请求的单个表。如果要聚合多个表中的项,则必须在API GW和DDB之间使用Lambda函数。