可以使用zappa直接运行函数(非wsgi应用程序)

nik*_*ida 8 python-3.x aws-lambda

zappa可以很容易地用于运行烧瓶应用程序.但它每个应用程序只创建一个lambda函数.我可以为每个声明的python函数使用单独的lambda函数吗?

mis*_*sak 8

因为这是在搜索非wsgi的zappa时获得的第一个SO结果,所以我将分享2美分。

如果您只想使用Zappa部署到AWS Lambda并能够在实际使用WSGI的情况下调用您的函数,则可以执行以下操作:

myapp.py

def foo(event, context):
    print('foo bar')
    return 'lambda triggered!'
Run Code Online (Sandbox Code Playgroud)

zappa_settings.json

{
    "dev": {
        "lambda_handler": "myapp.foo",
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,在浏览器中转到您的AWS Lambda控制台,然后单击“ 测试”,然后查看正在触发的功能。


小智 5

您可以像下面创建“命令”触发事件,然后zappa将调用您的python函数:

{ 
  "command": "mymodule.myfunction"
}
Run Code Online (Sandbox Code Playgroud)

您的应用程序不必是wsgi应用程序。您可以分别创建每个lambda函数,并在每个函数上上传与zip相同的zappa软件包。