@crvouga/mockingbird-service-dinamodb 页面存档备份,存于互联网档案馆
本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .
AWS SDK v3 低等客户端和 DynamoDBDocumentClient。它保存 DynamoDB 属性类型,同时建模 CRUD,表达式,索引,页码,分批,交易,TTL,流,以及不与AWS联系的有条件写作.
安装
npm install -D @crvouga/mockingbird-service-dynamodb
仅限无害环境管理。 节点22+或Bun 1.2+.
使用量
指着SDK endpoint 选项。 接受Fixture SigV4证书.
import { DynamoDBClient } from "@aws-sdk/client-dynamodb"
import { DynamoDBDocumentClient, GetCommand } from "@aws-sdk/lib-dynamodb"
import { createServer } from "@crvouga/mockingbird-service-dynamodb/server"
// Test setup: seed the emulator and point the AWS SDK client your application uses at it.
const emulator = await createServer({
tables: [
{
name: "records",
keySchema: [{ AttributeName: "pk", KeyType: "HASH" }],
items: [{ pk: { S: "fixture" }, status: { S: "ready" } }],
},
],
})
const db = DynamoDBDocumentClient.from(
new DynamoDBClient({
endpoint: emulator.url,
region: "us-east-1",
credentials: { accessKeyId: "fixture", secretAccessKey: "fixture" },
}),
)
// Application code: ordinary SDK calls.
const { Item } = await db.send(new GetCommand({ TableName: "records", Key: { pk: "fixture" } }))
// Item: { pk: "fixture", status: "ready" }
await emulator.close() // after the test
支持的操作有创建表、描述表、获取项目、设置项目、更新项目、删除项目、查询、扫描、批发项目、批发项目、转录项目和转录项目。 表达子集包括表达式名称/值别名,SET/ADD/REMOVE/DELETE, if_not_exists;条件、过滤器和按键条件表达式由DynamoDB的语法进行解析(在数值或路径之间进行比较,BETWBENT,IN,和/OR/NOT之间加括号, attribute_exists, (中文(简体) ), attribute_not_exists, (中文(简体) ), attribute_type, (中文(简体) ), begins_with, (中文(简体) ), contains, (中文(简体) ), size; 投影、条件、限制、光标、索引顺序和返回值.
管理和确定性控制
- 构造定着定义表格,索引,打出的项目,以及TTL属性.
GET /__admin/tables, (中文(简体) ),/__admin/items?table=…,以及/__admin/streams?table=…检查当地州并订购INSERT/MODIFY/REMOVE记录.- 将共享仿真器时钟提前到过期的 TTL 项上, 不睡觉 .
- 错误预设为
throttled和一发子弹unavailable;通用断层规则可以模拟未经处理的批量响应或最终被读出故障.
共享运行时间还提供重设、时间表、请求日记、度量衡、断层和名称空间隔离 x-mockingbird-namespace, (中文(简体) ), /__admin/ns/<name>,或SigV4存取键映射.
故意不模拟
PartiQL,Control-plane operation outside Creature/Description,本地/全球表复制,IAM政策评价,加密,备份,生产能力核算,所有DynamoDB表达语法,真实的同步流,仪表板,以及计费等不都是被模拟的.
API 密码
DynamoAPI, (中文(简体) ),DynamoAPIOptions, (中文(简体) ),DynamoSeedTableAWS JSON 处理器和固定装置.AttributeValue, (中文(简体) ),Item, (中文(简体) ),KeySchemaElement, (中文(简体) ),DynamoIndex, (中文(简体) ),DynamoItem, (中文(简体) ),DynamoTable, (中文(简体) ),StreamRecord: 键入状态.createRuntime, (中文(简体) ),DynamoRuntime, (中文(简体) ),DynamoRuntimeOptions:满口口鸟跑.DYNAMODB_NAMESPACE, (中文(简体) ),DYNAMODB_PRESETS, (中文(简体) ),accessKeyCredential:常数与控制.document, (中文(简体) ),operationIds, (中文(简体) ),supportedOperationIds: 生成了 OpenAPI 元数据.createServer, (中文(简体) ),DynamoServerOptions, (中文(简体) ),DEFAULT_PORT, (中文(简体) ),serveTarget从./server:节点HTTP适配器和CLI集成.
官方预言: 亚马逊 DynamoDB API 参考文献。 。 。 .