DynamoDB Toolbox - 让单表设计变得简单易行!

DynamoDB Toolbox - 让单表设计变得简单易行!

dynamodb-toolboxdynamodb-toolbox: 是一个用于 Amazon DynamoDB 的命令行工具箱,提供了许多有用的 DynamoDB 管理命令,如创建表、查询数据等。适合开发者使用 dynamodb-toolbox 管理 DynamoDB 数据库。项目地址:https://gitcode.com/gh_mirrors/dy/dynamodb-toolbox

DynamoDB Toolbox 是一套强大的工具集,专门用于简化 Amazon DynamoDB 和其 DocumentClient 的操作。特别适合进行单表设计,同时也支持多表操作。它允许您定义实体(附带类型注解和别名),并将它们映射到DynamoDB的表格中。通过传递JavaScript对象,您可以生成执行 putgetdeleteupdatequeryscanbatchGetbatchWrite 操作所需的API参数。此工具箱会自动处理别名映射、数据验证和类型转换,甚至包括复杂的 UpdateExpression

单表设计理念

想了解更多关于单表设计的信息,请参考 Alex Debrie 的博客。

版本更新至0.9

版本0.9带来了许多改进和增强,我们欢迎您提供反馈,并非常感谢贡献者@ThomasAribart的努力工作!

快速上手

使用您喜欢的包管理器,通过以下命令在您的项目中安装 DynamoDB Toolbox 和 aws-sdk v3 相关依赖:

# npm
npm i dynamodb-toolbox
npm install @aws-sdk/lib-dynamodb @aws-sdk/client-dynamodb

# yarn
yarn add dynamodb-toolbox
yarn add @aws-sdk/lib-dynamodb @aws-sdk/client-dynamodb

然后导入并创建 TableEntity

import { Table, Entity } from 'dynamodb-toolbox'

通过创建 DynamoDBClientDynamoDBDocumentClient 实例以初始化一个表格:

import { DynamoDBClient } from '@aws-sdk/client-dynamodb'
import { DynamoDBDocumentClient } from '@aws-sdk/lib-dynamodb'

创建实体,如 Customer

const Customer = new Entity({
  // ... 定义属性和表结构 ...
})

随后您可以使用 put 方法保存数据,例如:

const customer = {
  id: 123,
  // ... 其他属性 ...
}
await Customer.put(customer)

强大的特性

  • 表结构与类型注解:通过简单的JavaScript对象结构定义表和实体数据模型,指定DynamoDB数据类型,并可设置默认值。
  • 智能更新表达式:构建复杂的UpdateExpression字符串不再困难,即使输入数据变化,库也能处理各种情况,包括列表和集合操作,以及智能地应用if_not_exists()避免覆盖数据。
  • 双向映射和别名:在单表设计中,多个实体可以共享同一张表。每个实体可以重用字段(如pksk)并为不同类型的项映射不同的别名。
  • 复合键生成和字段映射:轻松处理复杂的数据模式,如国家、区域、州等层级的复合键。库会自动生成这些值,并解析为相应的字段。
  • 类型强转与验证:确保DynamoDB表中的数据类型一致。验证列表、地图和集合类型。集合类型由库自动处理。
  • 强大的查询构造器:只需指定分区键,然后配置排序键条件、过滤器和属性投影,即可针对主键或二级索引进行查询,支持分页功能。
  • 简单扫描:轻松扫瞄表或二级索引,添加过滤器、投影,支持并发扫描和更多功能,同样支持分页。
  • 过滤和条件表达式构建器:使用标准化的数组和对象语法构建复杂的过滤和条件表达式。
  • 投影构建器:根据不同实体类型指定返回哪些属性和路径,自动过滤结果。
  • 次级索引支持:将次级索引(全局和局部)映射到表,动态链接实体属性。
  • 批量操作:对多个实体和表执行简单的批量操作接口。
  • 事务处理:对多个实体和表执行简单的事务接口。
  • 默认值依赖图:创建动态属性默认值,通过其他动态属性默认值相互链接。
  • TypeScript 支持:提供强类型支持和类型推断功能,使开发更加愉悦。

更多资源

DynamoDB Toolbox 非常适合想要充分利用DynamoDB强大功能,尤其是采用单表设计的开发者。结合其智能功能和类型安全特性,这个开源项目是提升您应用程序效率和可靠性的理想选择。现在就加入,体验它的便捷性吧!

dynamodb-toolboxdynamodb-toolbox: 是一个用于 Amazon DynamoDB 的命令行工具箱,提供了许多有用的 DynamoDB 管理命令,如创建表、查询数据等。适合开发者使用 dynamodb-toolbox 管理 DynamoDB 数据库。项目地址:https://gitcode.com/gh_mirrors/dy/dynamodb-toolbox

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒋素萍Marilyn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值