SuperAPI AI 工具集

typescript-dynamodb-toolbox

编程与开发

查看项目

更新于 10-16 00:06

技能介绍

用途:在使用 dynamodb-toolbox v2 时以类型安全方式操作 DynamoDB,落地单表设计(single-table design)。适合访问模式已知且稳定、需要可预测亚 10 毫秒性能、数据边界清晰的微服务;不适合需求多变或临时分析查询的场景。

主要能力:用 Table 定义分区键、排序键与 GSI1/GSI2/GSI3;用 Entity 加 item({}) 定义业务属性,并通过 .key()、.link()、.validate()、.savedAs()、.default() 计算 PK/SK 和 GSI 键;用 InputItem、FormattedItem 做写入与读取类型区分;以 Repository 模式封装 PutItemCommand、GetItemCommand、DeleteItemCommand、QueryCommand;支持条件写入防重复(exists: false)、存在校验更新(exists: true)、GSI 查询、beginsWith 范围过滤、reverse 排序、exclusiveStartKey 分页与 base64 分页令牌、事务与原子计数。

使用方式:先做实体关系、实体图表、GSI 策略与访问模式清单;再配置 Table,定义 Entity,编写 Repository,最后实现查询与分页。示例命令与代码结构包括 new Table({...})、new Entity({...})、.build(PutItemCommand).item(...).options({ condition: { attr: "PK", exists: false } }).send() 等。

限制与注意:资料未提供具体收费、价格或平台信息。ConditionalCheckFailedException 需捕获并转成领域错误;分页令牌需自行编码解码;测试建议用 DynamoDB Local 并清理数据。整体设计遵循先定访问模式的 DynamoDB 范式。