如何在 AppSync 解析器中使用多个过滤器表达式

Posted

技术标签:

【中文标题】如何在 AppSync 解析器中使用多个过滤器表达式【英文标题】:How to use multiple filter expressions in AppSync resolver 【发布时间】:2021-01-27 18:52:00 【问题描述】:

我终其一生都无法弄清楚如何在我的 Appsync 解析器中使用两个不同的过滤器表达式。我正在尝试根据另外两条数据 emailusername 检索 ID。

我的解析器如下所示:


  "version" : "2017-02-28",
  "operation" : "Scan",
  "filter" : 
    "expression" : "email = :email and username = :username",
    "expressionValues" : 
      ":email" :  "S" : "$context.arguments.email" ,
      ":username" :  "S" : "$context.arguments.username" ,
    ,
  

即使我的请求似乎有效,我也会收到 data: null 作为响应。

关于如何做到这一点的任何提示?

【问题讨论】:

【参考方案1】:

    "version" : "2017-02-28",
    "operation" : "Scan",
    "filter": 
        "expression": "contains(email, :email) AND contains(username, :username)",
        "expressionValues" : 
            ":email": 
                "S": "$ctx.args.email"
            ,
            ":username": 
                "S": "$ctx.args.username"
            ,
        
    

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何在 AppSync 解析器中使用多个过滤器表达式的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vtl appsync 解析器中重用/导入代码?

解析器中的 AppSync GraphQL 变异服务器逻辑

在 aws appsync 解析器中添加额外字段

在aws appsync解析器中添加额外字段

用于过滤用例的AppSync DynamoDB解析器

用于过滤用例的 AppSync DynamoDB 解析器