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

如何在AppSync流水线中让Lambda返回值?

问题解决:AppSync流水线中Lambda解析器返回空响应错误

问题根源

你的Lambda采用async函数作为handler,但同时混用了callback回调和return语句,这会导致AppSync无法正确接收响应。Async函数默认返回Promise,而callback是传统回调式处理逻辑,两者混用会引发执行流程冲突,最终返回的响应不符合流水线解析器的格式要求,触发“Template transformation yielded an empty response”错误。

修正方案

移除callback相关代码,仅使用return返回结果,这是async函数的标准用法:

exports.handler = async (event, context) => {
    // 执行你的业务逻辑生成myValue
    return myValue;
};

如果需要处理异常,使用try/catch抛出错误(AppSync会自动将其转为标准GraphQL错误):

exports.handler = async (event, context) => {
    try {
        // 业务逻辑处理
        const myValue = /* 生成你的结果 */;
        return myValue;
    } catch (err) {
        throw new Error(err.message);
    }
};

额外注意事项

  • 确保返回的myValue结构与你AppSync流水线的映射模板匹配,比如如果模板期望读取data字段,需返回类似{ data: { /* 结果内容 */ } }的结构,避免因格式不匹配导致解析失败。
  • 测试时不要直接返回空对象{},应返回符合模板预期的最小结构,比如{ data: {} },确保流水线能正确解析响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:33:37