SuperAPI AI 工具集

dynamodb

设计与创作

查看项目

更新于 10-15 21:49

技能介绍

用途:为使用 Amazon DynamoDB 的开发工作提供专家级辅助,重点覆盖单表设计、分区键(PK)与排序键(SK)、全局二级索引(GSI)、DynamoDB Streams 与 TTL。适合无服务器 Web 后端(如 AWS Lambda)、需要单数字毫秒级键值访问、单表设计建模一对多与多对多关系,以及使用 Global Tables 做多区域复制的场景。

主要能力:讲解 PK 决定物理分区路由、SK 决定分区内 B-Tree 排序;用 GSI 做反向查询,避免全表扫描;用 DynamoDB Streams 捕获条目级变更并触发 Lambda 做异步处理(如同步到 OpenSearch);用 TTL 自动过期会话、临时令牌与日志。

使用方式:资料给出基于 @aws-sdk/client-dynamodb 与 @aws-sdk/lib-dynamodb 的示例,包括 PutItemCommand 写入、DynamoDBDocumentClient 配合 QueryCommand 按 GSI 查询,以及用 KeyConditionExpression 与 begins_with 在单次往返中查询用户及其订单。

最佳实践:采用单表设计;生产代码路径优先 Query 而非 Scan;负载多变时用 On-Demand 容量;配置 TTL。避免低基数分区键(如性别、状态)造成热分区;GSI 只投影必要属性(KEYS_ONLY 或 INCLUDE);非必要不使用 TransactWriteItems,因其写入容量消耗翻倍。

限制与排错:条目最大 400KB,超出需压缩或把大二进制放 S3 仅存 URI;ProvisionedThroughputExceededException 需切换 On-Demand 或实现指数退避重试;TransactionCanceledException 需检查各事务条目的条件表达式。具体价格与更多细节资料暂未提供。