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

AWS AppSync调用GraphQL API返回400错误,Lambda未触发

AWS AppSync调用GraphQL API返回400且Lambda未触发的排查方案
  • 检查GraphQL Schema的参数约束
    确认getUserData查询定义中,inputArguments参数的类型是否允许空对象。如果Schema里该参数标记为非空(!),且对应的Input类型包含必填字段,空对象会直接触发AppSync的参数校验失败,请求不会传递到Lambda。
    示例错误Schema场景:

    type Query {
      getUserData(inputArguments:! UserInput): UserData
    }
    input UserInput {
      userId:! String
    }
    

    这种情况下,空的inputArguments会触发校验错误,返回400。

  • 验证变量与参数的匹配性
    核对$inputArguments的类型是否与Schema定义完全一致,检查参数名、字段名的拼写和大小写是否匹配,避免因变量类型不匹配导致的请求拦截。

  • 查看AppSync CloudWatch日志定位具体错误
    进入AppSync控制台对应API的监控 -> 日志模块,查看400请求的详细日志。日志会明确给出错误原因:比如参数校验失败、请求格式错误、映射模板逻辑报错等,这是最快定位问题的方式。

  • 排查Resolver映射模板逻辑
    检查getUserData对应的Request Mapping Template,如果模板中包含输入参数的校验逻辑(比如非空判断),空对象可能触发模板内的错误,导致AppSync直接返回400,不会调用Lambda。
    示例模板中的校验逻辑:

    #if (!$ctx.args.inputArguments.userId)
      $util.error("userId is required", "BAD_REQUEST")
    #end
    
  • 确认AppSync权限与Resolver配置
    检查AppSync服务角色是否具备调用目标Lambda的权限;同时确认Resolver是否正确关联了Lambda数据源,避免因配置错误导致请求在前置阶段被阻断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:57:05