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

使用Serverless Framework部署Lambda作为AppSync数据源遇Lambda:AWSLambdaException错误

解决AppSync调用Lambda时的Lambda:AWSLambdaException错误

我之前也碰到过一模一样的问题,这个错误通常是AppSync和Lambda之间的权限配置、数据源指向或者Lambda本身的问题导致的,咱们一步步来排查解决:

1. 给Lambda配置资源策略,允许AppSync调用它

AppSync要成功触发Lambda,你的Lambda函数必须明确授权AppSync服务作为调用方。可以直接在serverless.yml里添加这个策略:

service: mongoose-lambda-srvrls
provider:
  name: aws
  runtime: nodejs20.x  # 先把旧版本升级,后面会说原因
  region: us-west-2
functions:
  mongoose:
    handler: index.handler
    resourcePolicy:
      - Effect: Allow
        Action: lambda:InvokeFunction
        Principal:
          Service: appsync.amazonaws.com
        Resource: "*"
        Condition:
          ArnEquals:
            AWS:SourceArn: arn:aws:appsync:us-west-2:YOUR_ACCOUNT_ID:apis/YOUR_APPSYNC_API_ID/*

记得把YOUR_ACCOUNT_ID和YOUR_APPSYNC_API_ID替换成你自己的账号ID和AppSync API的ID(后者可以在AppSync控制台的API设置里找到)。

2. 确认AppSync数据源的Lambda ARN完全正确

去AppSync控制台找到你配置的Lambda数据源,检查里面填写的Lambda ARN是不是和Serverless部署出来的Lambda完全匹配。Serverless部署的Lambda ARN格式一般是:
arn:aws:lambda:us-west-2:你的账号ID:function:mongoose-lambda-srvrls-mongoose-随机后缀
如果ARN填错了,AppSync根本找不到对应的Lambda,自然会抛出这个异常。

3. 查看Lambda的CloudWatch日志,排查函数内部错误

有时候这个异常只是“表象”,实际是Lambda执行时出错了。去AWS控制台的CloudWatch服务,找到这个Lambda对应的日志组,看看里面的具体报错信息——比如是不是MongoDB连接失败、handler函数逻辑有问题,或者没有正确处理AppSync传过来的请求参数。

这里给你一个基础的handler模板,确保能正确处理AppSync请求并返回结果:

exports.handler = async (event) => {
  try {
    // 示例:根据传入的id查询帖子
    const { id } = event.arguments;
    const post = await yourMongooseQueryFunction(id); // 替换成你的实际查询逻辑
    return post;
  } catch (error) {
    console.error("Lambda执行出错:", error);
    // 抛出明确错误,让AppSync返回更清晰的提示
    throw new Error(`获取帖子失败: ${error.message}`);
  }
};

4. 升级Lambda的Runtime版本

你的配置里用的nodejs6.10早在2018年就被AWS弃用了,不仅没有安全更新,还可能和最新的AppSync SDK、mongoose版本存在兼容性问题。赶紧把runtime改成当前的LTS版本,比如nodejs20.x,这能解决很多潜在的环境问题。

按照上面的步骤排查下来,基本就能解决这个Lambda:AWSLambdaException问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:46:12