类似数据库api的记录,可与aurora无服务器数据api一起使用
camus的Python项目详细描述
加缪
camus是一个原始sql库,可以轻松地与新的Aurora Serverless Data API集成。它是强大的Records库的分支。
安装
建议的安装方法是pipenv
:
$ pipenv install camus
基本用法
首先你需要有一个极光团和一个秘密的arn。如果还没有,就按照Data API Getting Started Guide。
有了它,让我们把一些查询放到我们的数据库中:
importcamusdb=camus.Database(resource_arn="arn:aws:rds:us-east-1:123456789012:cluster:your-cluster-name",secret_arn="arn:aws:secretsmanager:us-east-1:123456789012:secret:your-secret-name-ByH87J",dbname="mydb",)rows=db.query("SELECT * FROM users")
您可以一次获取一行(如在记录库中)
>>>rows[0]<camus.Recordat0x109bfbd30>
或者迭代它们:
forrinrows:print(r.name,r.email)
如前所述,camus是记录库的一个分支,因此几乎所有访问模式都是相等的:
row.emailrow['email']row[3]
其他选项包括rows.as_dict()
和rows.as_dict(ordered=True)
交易
camus支持数据api事务:
withdb.transaction()astxid:db.query("INSERT INTO...")db.query("UPDATE mytable...)
如果在执行任何查询时引发任何异常,则自动执行回滚。
都是些人
感谢伟大的@kennethreitz提供了他对卓越的记录库和 他多年来所说的一切!