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

AppSync调用Python Lambda返回null值问题求助

解决AppSync调用Python Lambda返回null的问题

核心原因

你的Python Lambda函数错误地将结果序列化为JSON字符串返回,而AppSync期望接收原生的Python字典对象(未序列化的JSON结构)。当AppSync接收到字符串时,会将其视为单一值,无法解析出schema定义的premise_id和definitions字段,因此返回null。

修复代码

修改Lambda的handler函数,直接返回字典对象,不要使用json.dumps()序列化:

import json

def handler(event, context):
  # 直接返回字典,无需序列化
  return get_definitions()
  
def get_definitions():
  return {
    "premise_id":"123456",
    "definitions": [
      {
        "object_id": "123456", 
        "definition": "ABC"
      },
      {
        "object_id": "7891011", 
        "definition": "DEF"
      }
    ]
  }

额外验证项

  • 字段名一致性:确认Lambda返回的字典字段名(premise_id、definitions等)与schema中的定义完全匹配(大小写、下划线都要对应),你的当前代码这部分是正确的。
  • Resolver映射模板:检查AppSync中getDefinitions查询对应的Resolver响应模板,确保逻辑正确。Lambda数据源的默认响应模板通常为$util.toJson($context.result),如果自定义了模板,需保证它能正确提取Lambda返回的结果。
  • 权限配置:确认AppSync拥有调用该Lambda的权限,避免因权限问题导致结果解析异常(不过此问题一般会触发调用失败,而非返回null)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:21:26