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

同一区域调用AWS Lambda子函数时出现'Database'对象不可调用错误求助

排查 'Database' object is not callable TypeError 问题

以下是针对AWS Lambda父子函数调用时触发该错误的排查方向:

  • 检查Database实例的调用方式
    该错误核心原因是将Database类的实例当作函数执行了。比如错误写法:

    db = Database()
    db()  # 实例不是可调用对象,触发TypeError
    

    核对父、子Lambda代码,确认是否应调用实例的方法(如db.execute_query())而非实例本身。

  • 排查Lambda调用的参数传递
    若父Lambda调用子Lambda时传递了Database类实例,Lambda默认的JSON序列化/反序列化会破坏对象结构,导致子Lambda中接收到的对象无法正常使用。确保传递的是纯可序列化数据(字典、列表、字符串等),而非自定义类实例。

  • 检查命名冲突问题
    子Lambda中可能存在命名覆盖:比如导入的第三方模块或自定义模块里,有与Database类同名的变量/实例,导致实际使用的不是预期的类。检查导入语句及变量定义,避免重名。

  • 定位错误发生的具体环节
    从错误日志的栈追踪中找到出错代码行:

    • 若错误发生在父Lambda调用子Lambda的步骤,重点检查调用参数和boto3.client('lambda').invoke()的使用逻辑;
    • 若错误发生在子Lambda内部执行时,聚焦Database类的实例化与调用代码。

补充提示

如果以上排查未解决问题,提供错误日志的完整栈追踪信息,以及父/子Lambda中涉及Database类的关键代码片段,能更快定位根因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:55:21