我需要根据第一个查询的结果在dynamodb上使用aws appsync解析器运行查询。 我有下面的用户表。 userTable
第一个查询:查找其中userId = u1并键入= user的项目。 第二个查询:找到一个项目,其中userId =“从第一个查询返回的RefId”和status = complete。
我需要在appsync解析器中的一个查询中执行此操作。
#set( $expValues = {} )
#set($expression="userId = :userId ")
$!{expValues.put(":userId ", { "S" : $ctx.args.input.userId })}
#if(! $util.isNullOrEmpty($ctx.args.input.type))
#set($expression="$expression and begins_with(type)")
$!{expValues.put(":type", { "S" : $type})}
#end
{
"version" : "2018-05-29",
"operation" : "Query",
"index" : "mId_mType_index",
"scanIndexForward" : false,
"query" : {
"expression":"$expression",
#if( !${expValues.isEmpty()} )
"expressionValues" : $utils.toJson($expValues)
#end
},
#if( ${ctx.args.limit} )
"limit": ${ctx.args.limit}
#end
#if( ${ctx.args.nextToken} )
,"nextToken": "${ctx.args.nextToken}"
#end
}
答案 0 :(得分:2)
您可以使用AWS AppSync中的管道求解器来执行此操作。管道解析器可以具有多个解析器功能,这些功能可以具有自己的数据源。管道中的下一个功能可以使用上一个解析器的结果。
我需要在appsync解析器中的一个查询中执行此操作。
我不知道您为什么(想)需要这个,但这是不可能的。