SuperAPI AI 工具集

typescript-dynamodb-toolbox

编程与开发

查看项目

更新于 10-16 00:06

技能介绍

用途:在 TypeScript 项目中使用 dynamodb-toolbox v2 实现 DynamoDB 单表设计,提供 Entity 与 Table 抽象,实现类型安全的读写。适用于访问模式已知且稳定、需要可预测低延迟性能、有清晰数据边界的微服务;不适合需求多变的原型、临时分析查询或团队缺乏 DynamoDB 经验的情况。

主要能力:定义 Table 的分区键、排序键与多个 GSI;用 item({}) 定义实体 schema,用 .key() 标记键属性,用 .and() 分离业务属性与计算键,用 .link<typeof _schema>() 从业务属性派生 PK/SK/GSI 键,用 .validate() 校验字段,用 .savedAs() 处理名称差异。提供 InputItem<T>(写入)与 FormattedItem<T>(读取)类型。支持 PutItemCommand、GetItemCommand、DeleteItemCommand、QueryCommand,条件表达式防重复与存在性检查,GSI 查询、beginsWith 范围过滤、分页令牌编解码、事务与原子计数器。

使用方式:先完成建模清单(实体关系图、实体键图表、GSI 策略、访问模式文档),再配置 Table 与 Entity,最后在仓储类中封装命令。创建用 condition: { attr: "PK", exists: false },更新用 exists: true,读取用 .key(),查询用 .entities()。将 ConditionalCheckFailedException 转换为领域错误。测试使用 DynamoDB Local,每次测试用唯一 ID 并清理数据。

限制:资料未提供具体版本号、安装命令、价格与平台信息;详细事务、错误处理与测试方法需参考其 references 目录文档。