httpaws-一个用于aws服务的类似curl的cli工具。
httpaws的Python项目详细描述
http aws:用于aws服务的命令行http工具
http aws是aws服务的命令行http客户端。它的目标是使cli与aws web服务交互为
尽可能人性化。它提供了一个简单的http aws
命令,允许向aws发送http请求
服务使用简单自然的语法,并显示彩色输出。httpaws可用于测试、调试,
并且通常通过http请求直接与aws服务交互。
http aws直接使用请求对aws服务端点进行http调用 aws请求验证模块。
这是一个低级命令行工具,供开发人员使用,以便他们可以轻松地直接进行http调用 AWS服务。它是一个有效的命令行编程替代品,用于使用图形工具,如 邮递员,其灵感来源于诸如httpie之类的工具,但其特定于 AWS服务。
主要功能
- 富有表现力和直观的语法
- 格式化和彩色终端输出
- 内置XML支持
- python 2.7和3.x支持
- Linux、MacOS和Windows支持
安装
一种通用的安装方法(适用于Windows、Mac OS X、Linux…, 并始终提供最新版本)是使用pip
# Make sure we have an up-to-date version of pip and setuptools:
$ pip install --upgrade pip setuptools
$ pip install --upgrade httpaws
(如果由于某种原因安装失败,您可以尝试将easy_install httpaws
作为回退。)
python版本
尽管也支持Python2.7,但强烈建议 尽可能根据最新的python 3.x安装httpaws。那将 确保一些较新的http功能,例如 sni(服务器名称指示),开箱即用。 python 3是从0.9.4版开始的自制安装的默认版本。
不稳定版本
您也可以直接从
github上的master
分支。这是一项未来稳定的工作
释放后,体验可能不会那么顺利。
$ pip install -U https://github.com/http-aws/http-aws/archive/master.tar.gz
用法
你好,世界:
$ httpaws -s ec2 DescribeVpcs
概要:
$ httpaws [flags] <API>
另请参见httpaws-h
以获取详细帮助:
$ httpaws -h usage: httpaws [-h][-r REGION][-s SERVICE][-e ENDPOINT][-c CREDS][-v VERSION][-p][-w] api httpaws v0.0.2: A CLI HTTP client for AWS services with syntax highlighting positional arguments: api name of the API to call - e.g. "DescribeVpcs" optional arguments: -h, --help show this help message and exit -r REGION, --region REGION AWS region. Overrides config/env - e.g. us-east-1 -s SERVICE, --service SERVICE AWS service - e.g. ec2, s3, etc. -e ENDPOINT, --endpoint ENDPOINT override command's default URL with the given URL - e.g. ec2.us-east-1.amazonaws.com -c CREDS, --creds CREDS override AWS Access Key Id and AWS Secret Access Key - i.e. <Access_Key>:<Secret_Key> -v VERSION, --version VERSION API version to use for the service -p, --paginate paginate long output -w, --wrap wrap long lines in paginated output (instead of chop) See the AWS Documentation for API references for each service: https://docs.aws.amazon.com
认证
当前支持的身份验证方案由 aws请求验证python模块。这两种模式是自动的 和手动。有一个标志控制身份验证:
<表><广告><;aws_access_key_id>;:<;aws_secret_access_key>;
对作为参数
自动验证
如果未提供-c
标志,则httpaws将尝试使用
botocore
$ httpaws DescribeVpcs
手动验证
$ http -c <Access_Key>:<Secret_Key> DescribeVpcs
http重定向
不遵循http重定向,只显示第一个响应。
输出选项
此时,httpaws只输出最终响应和整个响应 打印消息(页眉和正文)。
终端输出
httpaws在默认情况下会做一些事情,以便终端输出 易于阅读。
颜色和格式
语法突出显示应用于http头体 感觉)
此外,还应用以下格式:
- XML数据缩进,Unicode转义转换为它们表示的字符。
重定向输出
默认情况下,httpaws将所有输出发送到stdout
原因是让httpaws输出到其他程序时不需要额外的标志。大多数时候,只有生的 当输出被重定向时,响应体会引起注意。
强制着色和格式化,并在中同时显示请求和响应
更少
寻呼机:
$ httpaws -p DescribeVpcs
-p
标志告诉httpaws将输出管道设置为less
并解释包含的颜色转义序列
httpaws的输出。
管道输出
您还可以将响应正文重定向到另一个程序:
$ httpaws -s s3 List | grep "MagnumOpus.txt"
回答
响应将同步下载并在下载完成时打印,这便于格式化和 为中等大小的响应着色。但是,如果你想下载大文件而不占用太多内存,这不是 您正在寻找的工具。
会话
此时,httpaws发出的每个请求都完全独立于同一主机和httpaws以前的任何请求 不支持持续会话。
配置
httpaws使用的配置文件与aws cli使用的配置文件相同。
配置文件位置
配置文件的默认位置是~/.aws/config
和~/.aws/credentials
可配置选项
默认的aws区域是从config
文件读取的,而默认的aws访问和密钥是从
凭证
文件。
最佳实践
当一个人正在读取这个输出时,对长输出分页的-p
选项非常好,但是
在非交互调用期间通常不需要。你很可能不想使用
从示例中调用httpaws以形成cron作业时,请使用-p
选项。另外,如果您想要重定向或
通过管道传输httpaws的输出,还应避免使用-p
标志。
元
用户支持
请使用以下支持渠道:
相关项目
依赖关系
在幕后,httpaws使用这些令人惊叹的库:
- 请求
- 面向人类的python http库
- AWS请求验证
- 用于python请求模块的aws signature version 4签名过程
- botocore
- boto 3(官方aws python sdk)的底层核心功能
- pygments
- python语法高亮
- 色差
- python中简单的跨平台彩色终端文本
- lxml
- 使用python的xml
替代品
警告
此工具用于开发和教育目的。它不是为了坚固可靠 AWS服务管理。对于与生产aws服务的交互,强烈建议您使用 专门为此目的而设计的官方支持的工具,如以下任何一种:
贡献
参见贡献.md
更改日志
请参见changelog.mdchangelog.md
apache 2.0:许可证 todd leonhardt创建了httpaws和
这些优秀的人做出了贡献。许可证
作者
推荐PyPI第三方库