mangum的cli工具
mangum-cli的Python项目详细描述
mangum cli
此包提供用于生成与Mangum一起使用的aws lambda&api网关部署的命令行接口。
注意:这是一项正在进行的繁重工作,可以随时删除/更改。
需求:python3.7+
安装
pip install mangum-cli
命令
mangum init
-创建新的部署配置。
mangum build
-创建本地生成。
mangum deploy
-部署打包的项目。
mangum package
-打包本地构建。
mangum describe
-检索部署的终结点。
mangum validate
-验证aws cloudformation模板。
教程
下面的步骤概述了基本的FastAPI部署,但是您应该能够在适配器中使用任何asgi框架/应用程序。
步骤1-创建本地项目
首先,创建一个新目录app/
,这是包含主应用程序代码和函数处理程序的文件夹。
然后使用以下命令创建文件asgi.py
:
frommangumimportMangumfromfastapiimportFastAPIapp=FastAPI()@app.post("/items/")defcreate_item(item_id:int):return{"id":item_id}@app.get("/items/")deflist_items():items=[{"id":i}foriinrange(10)]returnitems@app.get("/")defread_root():return{"Hello":"World!"}handler=Mangum(app)
这演示了一个基本的fastapi应用程序,最相关的部分是:
handler=Mangum(app)
变量handler
将用作稍后生成的cloudformation模板中定义的处理程序名称。
最后,创建一个requirements.txt
文件,将mangum和fastapi包含在构建中:
mangum
fastapi
步骤2-创建新的部署配置
使用项目的名称(必需)运行以下命令,并可选地包括s3存储桶的名称和区域(这些值可以稍后更改):
mangum init <name> [bucket-name][region-name]
定义配置后,将生成一个mangum.yml
文件,当前目录现在应该如下所示:
├── app │ └── asgi.py ├── mangum.yml └── requirements.txt
步骤3-创建本地生成
运行以下命令以创建本地应用程序生成:
mangum build
这将创建一个build/
目录,其中包含应用程序代码和requirements.txt
中包含的任何依赖项。
步骤4-打包本地构建
运行以下命令打包本地生成:
mangum package
这将包装aws cli的package
命令,它使用mangum.yml
中的定义生成packaged.yml
文件和template.yml
文件。
步骤5-部署打包的构建
运行以下命令以部署打包的生成:
mangum deploy
这将包装aws cli的deploy
命令。可能需要几分钟才能完成。如果成功,则已部署应用程序的终结点将显示在控制台中。