当我使用多方法装饰器装饰函数时,我遇到了一个问题,即 lambda 抛出“'module' object is not callable”错误。我创建了一个任意示例来重新创建此问题。
import json
from multimethod import multimethod
@multimethod
def test(word: str):
print("you called string version", word)
def lambda_handler(event, context):
test("hello")
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
如果我删除装饰器,它就可以工作。出于某种原因,我的函数一装饰就被视为一个模块。我正在使用层来包含多方法,但我认为这不是问题,因为其他装饰器之前已经工作过。