amazon-web-services - 使用 appsync 解析器、aws dymaodb 的嵌套查询
问题描述
我需要根据第一个查询的结果在 dynamodb 上使用 aws appsync 解析器运行查询。我有下面的用户表。 用户表
第一个查询:查找 userId=u1 且 type=user 的项目。第二个查询:查找 userId="RefId 从第一个查询返回"且状态=完成的项目。
我需要在 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
}
解决方案
您可以使用 AWS AppSync 中的管道求解器来执行此操作。管道解析器可以有多个解析器函数,它们可以有自己的数据源。管道中的下一个函数可以使用前一个解析器的结果。
我需要在 appsync 解析器的一个查询中执行此操作。
我不知道你为什么(认为)你需要这个,但这是不可能的。
推荐阅读
- react-native - React Native:在本地服务器上使用 axios 时出现网络错误
- javascript - 在 JSON 请求中发送 csrf_token(无 ajax)
- mongodb - 查找 mongo 文档 - 具有嵌套字符串数组的文档数组
- entity-framework - Linq 查询(无法翻译)
- c++ - 使用结构和指针的分段错误(核心转储)
- c++ - 如果我想在 C++ 中输入但整数很长(例如 1000101010101001),我该怎么办?
- openshift - 从 Mac 登录 Openshift oc 失败
- intellij-idea - Intellij 索引后无法解析导入时的符号
- c# - 在 C# 中从 S3 读取 .xz 文件
- excel - Excel中每行中每4列的总和到行尾