跳转到主要内容

使用dataclasses的DynamoDB ORM

项目描述

DynamoClasses

基于Amazon Web Services DynamoDBPEP 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 (3.6 kB 查看哈希值)

上传时间 源代码

构建分发

dynamoclasses-1.0.0a2-py2.py3-none-any.whl (4.2 kB 查看哈希值)

上传时间 Python 2 Python 3