在zappa应用程序上配置数据库和常规django应用程序之间的区别



配置zappa应用程序和常规django应用程序有什么区别吗?我正在按照本教程设置 zappa 应用程序,并在"配置数据库"下链接到付费教程 - 我无法通过搜索谷歌找到太多信息。

那么,这与仅在设置中更改DATABASES,安装psycopg2并迁移更改有什么不同吗?还是 zappa 需要不同/更多的东西?

简答

您无法在 AWS Lambda 中运行常规的 Django 应用程序,但可以使用 Zappa 将 Django 应用程序打包为与 Lambda 兼容的应用程序。没有必要为教程付费,让Django与Zappa一起工作,他们的自述文件相当详细。如果你谷歌"AWS Lambda Zappa Django",你也会找到大量的免费内容。

长答案

Lambda不是常规服务器,没有直接的 HTTP 访问,您只能通过 AWS API 与 Lambda 函数进行通信。

Zappa所做的是使用AWS API Gateway(它确实向任何具有互联网连接的客户端公开HTTP终端节点(,并将API网关终端节点与应用程序中的函数/类(在您的情况下是Django应用程序(映射。这是一种"黑客",因为您无法真正在Lambda上运行WSGI应用程序。

Zappa 有点"模拟"运行你的 Djando 应用程序,从你的应用程序获取响应,将其从 Lambda 返回到 API 网关,然后发送到请求终端节点的客户端。

您应该签出的另一个类似于Zappa的选项是无服务器。AWS还有一个开源和轻量级框架,用于在Lambda中运行Python应用程序,即 杯。如果你已经在 Django 中开发了你的应用程序,你需要重写它才能在 Chalice 中工作。

相关内容

最新更新