符合AWS的API
ack的Python项目详细描述
Acky库
acky库为aws提供了一个一致的接口。基于Botocore,它 抽象了一些相关的api工作并允许用户与aws交互 以一致的方式使用api,开销最小。
Acky对API采取了不同的方法,比如 boto<;https://github.com/boto/boto>;。而不是将aws对象建模为python 对象,acky只是包装api以提供更一致的接口。大多数 aws中的对象在acky中表示为集合,使用get(),create(), 和destroy()方法。get()方法始终接受筛选器映射,不管 如果底层的api方法做了。
如果api的众多参数会使方法变得笨拙 调用(与ec2的runinstances一样),acky提供了一个实用程序类 其属性可以在执行api调用之前设置。
使用acky
Acky使用Botocore样式的AWS凭据配置,与 官方aws cli.在使用Acky之前,您需要设置配置 <;http://docs.aws.amazon.com/cli/latest/userguide/cli chap getting started.html>;。
一旦您的凭据设置好,使用acky就像创建 aws对象的实例:
from acky.aws import AWS aws = AWS(region, profile) instances = aws.ec2.Instances.get(filters={'tag:Name': 'web-*'}) print('Found {} web servers'.format(len(instances))) for instance in instances: print(' {}'.format(instance['PublicDnsName'])
模块结构
Acky的预期模块结构如下。许多api还没有 已实现,但可以认为是稳定的。
- aws
- 用户名(属性)
- 用户信息(属性)
- 帐户ID(属性)
- 环境(属性)
- ec2
- 区域
- 区域
- Aces
- acls
- 弹性系数
- 实例
- i许可
- 键对
- 放置组
- 安全组
- 快照
- 子网
- 专有网络
- 卷
- IAM
- 用户
- 组
- 按键
- 无线电数据系统
- 发动机版本
- 实例
- 快照
- 事件订阅
- 安全组
- 安全组规则
- sqs
- 排队
- 消息
- sts
- GetFederationToken
- GetSessionToken
其他服务将在以后的版本中添加。
安装acky
Acky在Pypi中提供,可通过pip安装:
pip install acky
您也可以从源代码安装acky,也许可以从github repo安装:
git clone https://github.com/RetailMeNot/acky.git cd acky python setup.py install