Amazon DynamoDB对象映射器
项目描述
Dynamodb-mapper – 基于 boto 的 DynamoDB 对象映射器。
展示
DynamoDB 是 Amazon 作为其 AWS 产品的一部分提供的最小化 NoSQL 引擎。
DynamoDB 允许您存储由 Unicode 字符串或数字以及 Unicode 字符串和数字集合组成的文档。每个表必须定义一个哈希键,可以定义一个范围键。所有其他字段都是可选的。
Dynamodb-mapper 在 DynamoDB 上提供一层微小的抽象层,以克服一些限制,而不会牺牲性能。它深受成熟的 MoongoKit 项目 启发。
需求
Boto = 2.6.0
AWS 账户
亮点
Python 与 DynamoDB 类型映射
使用 Onctuous(1.8.0 中新增)进行深度模式定义和验证
多目标事务(1.6.0 中新增)
子事务(1.6.2 中新增)
迁移引擎(1.7.0 中新增)
智能冲突检测(1.7.0 中新增)
为 scan、query 和 get_batch 提供完整的低级别分块抽象
默认值
自动增量的哈希键
框架无关
示例用法
我们假设您已正确设置Boto凭证或使用ddbmock。
快速安装
$ pip install dynamodb-mapper
如果您尚未配置Boto,您可以直接
$ export AWS_ACCESS_KEY_ID=<your id key here> $ export AWS_SECRET_ACCESS_KEY=<your secret key here>
第一个模型
from dynamodb_mapper.model import DynamoDBModel class DoomMap(DynamoDBModel): __table__ = u"doom_map" __hash_key__ = u"episode" __range_key__ = u"map" __schema__ = { u"episode": int, u"map": int, u"name": unicode, u"cheats": set, } __defaults__ = { "cheats": set([u"Konami"]), }
初始表创建
from dynamodb_mapper.model import ConnectionBorg conn = ConnectionBorg() conn.create_table(DoomMap, 10, 10, wait_for_active=True)
模型使用
e1m1 = DoomMap() e1m1.episode = 1 e1m1.map = 1 e1m1.name = u"Hangar" e1m1.cheats = set([u"idkfa", u"iddqd", u"idclip"]) e1m1.save() # Later on, retrieve that same object from the DB... e1m1 = DoomMap.get(1, 1) # query all maps of episode 1 e1_maps = DoomMap.query(hash_key=1) # query all maps of episode 1 with 'map' hash_key > 5 from boto.dynamodb.condition import GT e1_maps_after_5 = DoomMap.query( hash_key=1, range_key_condition=GT(5))
贡献
想要贡献、报告错误或请求功能?开发工作在Ludia的BitBucket账户进行
Dynamodb-mapper
Onctuous
项目详情
关闭
dynamodb-mapper-1.8.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8f93a15a68bde9aefda33914cb3ed62b9f819df7ba20e4153633667829cb6982 |
|
MD5 | c359855095147d4c23da1ef84ffeee46 |
|
BLAKE2b-256 | 7c7463425222b18532ad3b68b553fb0dddd16d6c0ca429b800a249dfce3a81af |