You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS AppSync增强订阅过滤器失效,求排查解决方法

AWS AppSync订阅增强过滤未生效的排查与修复

核心问题:过滤器设置位置错误

订阅的增强过滤逻辑必须在订阅的请求映射模板中定义,而非响应模板。因为订阅过滤器是客户端建立订阅连接时就需确定的规则,响应模板仅用于处理最终推送给客户端的数据,无法影响过滤逻辑的生效。

修复步骤

  • 调整映射模板位置
    将原本写在响应模板的过滤代码移到请求模板中,修改后的请求模板如下:

    $extensions.setSubscriptionFilter({
      "filterGroup": [
        {
          "filters" : [
            {
              "fieldName" : "identityId",
              "operator" : "eq",
              "value" : $context.identity.claims.identityId
            }
          ]
        }
      ]
    })
    {
      "version": "2017-02-28"
    }
    

    响应模板简化为仅返回结果即可:

    $util.toJson($context.result)
    
  • 验证JWT声明字段的正确性
    确认你的JWT令牌中存储用户唯一ID的声明键确实是identityId。部分OIDC提供商(如Cognito)可能使用sub或其他自定义字段作为用户标识,需替换为实际的键名,例如:

    "value" : $context.identity.claims.sub
    
  • 确认mutation返回的identityId准确性
    检查createTask的解析器是否正确将用户身份ID写入Task对象的identityId字段。如果mutation返回的Task对象中该字段为空或不匹配,过滤逻辑自然无法生效。

  • 检查权限配置
    确保订阅的权限配置(@aws_iam/@aws_oidc)允许客户端正确传递身份信息,AppSync能正常解析$context.identity.claims中的数据。

内容的提问来源于stack exchange,提问作者trucha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 13:55:21