1

我最近遇到了令人惊叹的无服务器 AWS Lambda,并认为将我的应用程序放在那里会很棒,而不必担心自动扩展、负载平衡以及所有这些显然只是成本的一​​小部分。

然后我发现了 Zappa,它负责为您将 Python 应用程序部署到 AWS Lambda。惊人的是我的想法。

它实际上在纸上很容易做到。只需按照此处的说明进行操作即可。 https://github.com/Miserlou/Zappa

无论如何,我只使用了一个非常基本的 django 应用程序,它使用了一个非常基本的 django 应用程序,其中只包含了 django rest 框架教程。在本地进行了测试并且工作正常。

然后我设置了我的 s3 存储桶并使用 awscli 验证了我的凭据。

然后我运行了你需要部署的两件事。Zappa 初始化,Zappa 部署开发。

然后它经历了所有的过程,打包成 zip,部署等......

然后最后它说你的应用程序是实时的,这是 url 它给了我一个 url 来尝试。我将网址粘贴到浏览器中,这就是浏览器为我显示的内容。哦,是的,我的 s3 存储桶仍然是空的,我的 aws lambda 服务也是如此。

{
    "message": "An uncaught exception happened while servicing this request.", 
    "traceback": [
        "Traceback (most recent call last):\n", 
        "  File \"/var/task/handler.py\", line 395, in handler\n    response = Response.from_app(self.wsgi_app, environ)\n", 
        "  File \"/home/donagh/projects/vizzydev/vizzy/visualid/vizzy_django/env/build/Werkzeug/werkzeug/wrappers.py\", line 865, in from_app\n", 
        "  File \"/home/donagh/projects/vizzydev/vizzy/visualid/vizzy_django/env/build/Werkzeug/werkzeug/wrappers.py\", line 57, in _run_wsgi_app\n", 
        "  File \"/home/donagh/projects/vizzydev/vizzy/visualid/vizzy_django/env/build/Werkzeug/werkzeug/test.py\", line 871, in run_wsgi_app\n", 
        "TypeError: 'NoneType' object is not callable\n"
    ]
}

如果有人有任何想法,我将不胜感激。我很想让这个工作。这将是一个非常强大的资源。

4

1 回答 1

0

当我收到与之相关的错误时werkzeug wrapper,通常是因为我的包没有安装在我的虚拟环境中。

virtualenv venv
source venv/bin/activate
pip install Django
pip install zappa
# pip install any other packages
# or with a requirements.txt file
pip install -r requirements.txt

然后运行zappa部署命令。

于 2017-03-16T04:35:30.613 回答