跳转到主要内容

Mangum的CLI工具

项目描述

Mangum CLI

此包提供用于生成与Mangum一起使用的AWS Lambda & API Gateway部署的命令行界面。

注意: 这是一个正在进行中的项目。欢迎PR。

要求: Python3.7+

安装

pip install mangum-cli

命令

mangum init - 创建一个新的部署配置。

mangum build - 创建本地构建。

mangum deploy - 部署打包的项目。

mangum package - 打包本地构建。

mangum all - 执行 buildpackagedeploy

mangum describe - 获取部署的端点。

mangum validate - 验证AWS CloudFormation模板。

mangum delete - 删除CloudFormation堆栈。

指南

下面的步骤概述了基本FastAPI部署,但是您应该能够使用任何ASGI框架/应用程序与适配器。

步骤1 - 创建本地项目

首先,创建一个新的目录 app/,这是一个将包含主要应用程序代码和功能处理程序的文件夹。

然后,创建一个名为 asgi.py 的文件,内容如下:

from mangum import Mangum
from fastapi import FastAPI


app = FastAPI()


@app.post("/items/")
def create_item(item_id: int):
    return {"id": item_id}


@app.get("/items/")
def list_items():
    items = [{"id": i} for i in range(10)]
    return items


@app.get("/")
def read_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] [runtime]

定义配置后,将生成一个 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 命令。这可能需要几分钟才能完成。如果成功,已部署应用程序的端点将在控制台显示。

步骤 6 - 删除 CloudFormation 堆栈

运行以下命令以删除 CloudFormation 堆栈

mangum delete

附录.A - 启用 shell 完成功能。

您可以通过运行安装选项来启用 shell 完成功能。

mangum complement bash

按 Tab 键可以显示候选者。

$ mangum [TAB][TAB]
all            complement     delete         describe       package
build          create-bucket  deploy         init           validate

附录.B - buildpackagedeploy

如果您想依次执行构建、打包和部署,请按以下操作进行

mangum all

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

mangum-cli-0.1.0.tar.gz (11.1 kB 查看哈希)

上传时间

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面