基于 YAML 配置的 CLI 框架,用于部署代码与云基础设施,主要面向 AWS Lambda 等托管云服务。
zappa/Zappa
Zappa 可将 Python Web 应用部署到 AWS Lambda 与 API Gateway,无需维护服务器。
- Star
- 3,700
- Fork
- 395
- 未关闭 Issue
- 22
- 最近提交
- 30天前
这是什么?
Zappa 是一个部署工具,可将 Python 应用及其虚拟环境打包为 Lambda 兼容的压缩包,并在 AWS 上自动创建 Lambda 函数、API Gateway 路由和相关 IAM 角色。它支持 Flask、Django、Bottle、Pyramid 等 WSGI 应用,也支持 FastAPI、Starlette、Quart 等 ASGI 应用。每个请求由短生命周期的 Lambda 调用处理,应用随流量自动扩缩,无需常驻服务器。
除了 Web 托管,Zappa 还可以基于 cron 或 rate 表达式定时运行函数,可替代部分 Celery 定时任务的场景;也可以由 S3 上传、SNS、SQS、DynamoDB、Kinesis 等 AWS 事件触发函数。此外,它还支持异步任务、远程调用函数与 Django 管理命令、日志查看、版本回滚,以及绑定自定义域名和 SSL 证书。
核心功能
- 01将 WSGI(Flask、Django、Bottle、Pyramid)和 ASGI(FastAPI、Starlette、Quart)应用部署到 AWS Lambda。
- 02部署时自动创建 API Gateway 路由与 IAM 角色。
- 03支持使用 cron 或 rate 表达式定时执行函数。
- 04可由 S3、SNS、SQS、DynamoDB 等 AWS 事件触发函数。
- 05支持异步任务、远程调用函数和 Django 管理命令。
- 06支持通过 ACM、Let's Encrypt 或自有证书绑定自定义域名并配置 SSL。
适用场景
- 在不维护常驻服务器的情况下托管低流量的 Flask 或 Django 接口。
- 在 AWS 上运行周期性 Python 任务,无需维护 Celery worker。
- 部署流量波动较大的 FastAPI 服务。
- 用 Python 函数处理 S3 上传或 SQS 消息。
快速上手
- 1
在项目的虚拟环境中用 pip 安装 Zappa
pip install zappa - 2
交互式生成部署配置
zappa init - 3
将应用部署到 AWS Lambda
zappa deploy <stage>
使用前须知
- 需要 AWS 账户和 AWS 凭证,且仅运行于 AWS Lambda 和 API Gateway。
- Zappa 必须安装在虚拟环境中,且虚拟环境名称不能与项目名称相同。
- API Gateway 请求时限为 30 秒,默认 IAM 策略权限过宽。
收录于专题
标签
常见问题
- Zappa 是什么?
- Zappa 可将 Python Web 应用部署到 AWS Lambda 与 API Gateway,无需维护服务器。 Zappa 是一个部署工具,可将 Python 应用及其虚拟环境打包为 Lambda 兼容的压缩包,并在 AWS 上自动创建 Lambda 函数、API Gateway 路由和相关 IAM 角色。它支持 Flask、Django、Bottle、Pyramid 等 WSGI 应用,也支持 FastAPI、Starlette、Quart 等 ASGI 应用。每个请求由短生命周期的 Lambda 调用处理,应用随流量自动扩缩,无需常驻服务器。
- Zappa 可以免费使用吗?用的什么许可证?
- Zappa 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- Zappa 还在维护吗?
- 活跃维护中。Zappa 最近一次提交是在 2026年10月8日。
- Zappa 适合用来做什么?
- 在不维护常驻服务器的情况下托管低流量的 Flask 或 Django 接口。 在 AWS 上运行周期性 Python 任务,无需维护 Celery worker。 部署流量波动较大的 FastAPI 服务。 用 Python 函数处理 S3 上传或 SQS 消息。
- Zappa 怎么安装和运行?
- 在项目的虚拟环境中用 pip 安装 Zappa: pip install zappa 交互式生成部署配置: zappa init 将应用部署到 AWS Lambda: zappa deploy <stage>
- 在哪里获取 Zappa?
- 源代码和安装说明在 GitHub 上:https://github.com/zappa/Zappa
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
在 Terraform 中创建 AWS Lambda 函数与 Layer,并负责依赖安装和部署包打包。
面向 AWS Lambda 的极简命令行部署工具,支持部署、回滚、调用、查看日志和比对差异。
用于在 AWS Lambda 上编写和部署无服务器应用的 Python 微框架,提供命令行工具与装饰器路由。
一组可直接部署的 Serverless Framework 示例与样板项目,覆盖 AWS Lambda 等无服务器平台。
可自托管在 AWS Serverless 上运行的 TypeScript 可扩展无头 CMS 与网站构建平台。