微结构
parfait的Python项目详细描述
快速启动
在本教程中,您将使用 chalice 命令行实用程序 创建和部署一个基本的rest api。 首先,您需要安装 chalice 。使用virtualenv 建议:
$ pip install virtualenv $ virtualenv ~/.virtualenvs/chalice-demo $ source ~/.virtualenvs/chalice-demo/bin/activate
注意: 确保您使用的是python2.7、python3.6或python3.7。 这些是aws lambda当前支持的唯一python版本,因此 也是 chalice cli和 chalice 支持的唯一版本 python包。您可以通过以下方式检查virtualenv中的python版本 运行:
# Double check you have a supported python version in your virtualenv $ python -V
接下来,在您的virtualenv中,安装 chalice :
$ pip install chalice
您可以运行:
$ chalice --help Usage: chalice [OPTIONS] COMMAND [ARGS]... ...
创建项目
接下来我们要做的是使用 chalice 命令创建一个新的 项目:
fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}1
这将创建一个 helloworld 目录。光盘到这个 目录。您将看到为您创建了几个文件:
fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}2
现在可以忽略 .chalice 目录,这两个主文件 我们关注的是 app.py 和 requirements.txt
让我们看看a p p.py文件:
fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}3
新项目的 命令创建了一个示例应用程序,该应用程序定义了 单个视图, / ,调用时将返回json主体 {"hello":"world"}
部署
让我们部署这个应用程序。确保您在 地狱世界中 目录并运行chalice deploy
fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}4
现在,您已经使用api网关和lambda启动并运行了一个api:
fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}5
尝试从 索引()更改返回的词典 功能。然后,您可以通过运行 chalice deploy来重新部署更改。
对于这些教程的其余部分,我们将使用 httpie 而不是 curl (https://github.com/jakubroztocil/httpie" rel="nofollow">https://github.com/jakubroztocil/httpie)测试我们的API。你可以安装 httpie 使用 pip install httpie ,或者如果您在Mac上,您可以运行 brew安装httpie 。github链接有更多关于安装的信息 说明。下面是一个使用 httpie 请求根目录的示例 我们刚刚创建的api的资源。注意,命令名是http :
fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}6
此外,api网关端点将缩短为 https://endpoint/api/ 简明扼要。一定要替换 https://endpoint/api/ 对于 当您部署api时会显示cli(它看起来像 https://abcdefg.execute api.us-west-2.amazonaws.com/api/
下一步
现在,您已经使用 chalice 创建了第一个应用程序。
接下来的几个部分将建立在这个快速启动部分的基础上,并介绍 您可以使用其他功能,包括:url参数捕获, 错误处理、高级路由、当前请求元数据和自动 策略生成。