使用dataclasses的DynamoDB ORM
项目描述
DynamoClasses
基于Amazon Web Services DynamoDB和PEP 557 Data Classes构建的DynamoDB API接口。
目标是拥有一个完全为dataclass
类的解决方案,但它通过附加一些助手功能,允许在DynamoDB中检索/存储对象。
基本用法
>>> import botocore
>>>
>>> from moto import mock_dynamodb2
>>>
>>> from dynamoclasses import dynamoclass
>>>
>>> mock_dynamodb2().start()
>>>
>>> session = botocore.session.get_session()
>>> client = session.create_client("dynamodb")
>>> client.create_table(
... TableName="inventory",
... KeySchema=[
... {"AttributeName": "item_id", "KeyType": "HASH"},
... ],
... AttributeDefinitions=[
... {"AttributeName": "item_id", "AttributeType": "S"},
... ],
... ProvisionedThroughput={"ReadCapacityUnits": 1, "WriteCapacityUnits": 1},
... )
{'TableDescription': ...}
>>>
>>> @dynamoclass(table_name="inventory", partition_key_name="item_id")
... class InventoryItem:
... item_id: str
...
>>> item = InventoryItem("hammers")
>>> item.save()
{'Attributes': ...}
>>>
>>> found_item = InventoryItem.get(partition_key="hammers", sort_key=None)
>>>
>>> print(found_item.item_id)
hammers
项目详情
关闭
dynamoclasses-1.0.0a2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d67f05ac42bfcb60d25403305dd4a924b6eac100867ea38b4325bae0939cfaf9 |
|
MD5 | 10d9585469d66931173e536397ccae22 |
|
BLAKE2b-256 | ecf2f321c3647ef79603412c9d6817d2ef3e860548606088cce9a2b499d3d075 |
关闭
dynamoclasses-1.0.0a2-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bbbbc572f2bc488b8298bdc99d345ace0f34654eac2e1de04c0f928f04eb90a4 |
|
MD5 | 09ad2e8640b221add771933f80c60455 |
|
BLAKE2b-256 | 13b0f7da35ebce90dccd9f650199006a8c9630cce9c6a6e08026ecbeaa134771 |