微结构

chalice的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包。您可以在 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]...
...

凭证

在部署应用程序之前,请确保 已配置凭据。如果您以前配置过 然后运行boto3(用于python的aws sdk)或aws cli的机器 您可以跳过此部分。

如果这是您第一次为aws配置凭据 可以按照以下步骤快速开始:

fromchaliceimportChaliceapp=Chalice(app_name="helloworld")@app.route("/")defindex():return{"hello":"world"}
0

如果您需要有关 配置凭据,请参阅 boto3文档

创建项目

接下来我们要做的是使用 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 目录,这两个主文件 我们将重点关注is 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参数捕获, 错误处理、高级路由、当前请求元数据和自动 策略生成。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用于批量操作的java RESTful API分块响应   java读取在线存储的文本文件   在Java ME中将双精度舍入到小数点后5位   java查找一个数字的最接近因子   java更改JMenuBar的字体   java Kmeans聚类算法运行时间和复杂性   java是否可以阻止try catch返回null   java内容解析器指向具有正确URI的错误表   java Android Kotlin插装测试未被识别为插装测试   java TestNG@Dataprovider   在forloop和print语句中声明变量时发生java错误   java在Android Studio 3中设置JNI