# @effect-dynamodb/schema 中文文档

规范地址：https://npmcn.com/package/%40effect-dynamodb/schema/

版本：1\.40\.0
npm 元数据更新时间：2026-11-11T16:18:37.594Z
中文译文更新时间：2026-11-13T08:16:32.331Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40effect-dynamodb/schema
原文对照：https://npmcn.com/package/%40effect-dynamodb/schema/?lang=original
项目主页：https://jmenga.github.io/effect-dynamodb
源码仓库：https://github.com/jmenga/effect-dynamodb

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.7 MB，143 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：effect ^4\.1\.0
- 首次发布：2026-06-22T03:57:21.048Z
- 最新版本发布：2026-11-11T16:18:36.974Z
- 近 30 天下载量：5935（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：44（近 12 个月 44 个）

## 中文简介

纯效果 Schema 驱动的实体/聚合模型和关系导出 用于效果- 驱动b —— 可导入而不使用 @aws- sdk

## 安装

```sh
npm install @effect-dynamodb/schema
```

也可以使用：`pnpm add @effect-dynamodb/schema`、`yarn add @effect-dynamodb/schema`、`bun add @effect-dynamodb/schema`

## README

# @ effect- dynamodb/ schema

纯、无AWS的图案和关系发展层 [`effect-dynamodb`](https://www.npmjs.com/package/effect-dynamodb)。 。 。 .

[![npm](https://img.shields.io/npm/v/@effect-dynamodb/schema)](https://www.npmjs.com/package/@effect-dynamodb/schema)

此套件包含 `effect-dynamodb` 没错 **没有** 触动 AWS SDK :

-   `DynamoModel` ——司马注解`Hidden`, (中文(简体) ), `identifier`, (中文(简体) ), `ref`和 `configure()` 字段覆盖.
-   `DynamoSchema` ——用于键前缀的应用程序命名空间(名称+版本).
-   `KeyComposer` ——指数定义的复合关键成分.
-   `Errors` ——被标记错误等级.
-   `Entity.make` 编号 : `Aggregate.make` —— 说 **纯定义构建器** 获得实体/汇总 `inputSchema` 编号 : `updateSchema` 编号 : `createSchema` 解码器.

它已经 **零依赖 `@aws-sdk/*`** ——无论是在其运行时间导入图中,还是在其排放中 `.d.ts` 表面。 当您只需要一个实体/集合的衍生方案(例如 HTTP API 有效载荷计划或用于验证)而不将 AWS SDK 拖入您的依赖图或 类型表面.

```ts
import { Entity } from "@effect-dynamodb/schema"
import { Schema } from "effect"

class Team extends Schema.Class<Team>("Team")({
  teamId: Schema.String,
  name: Schema.NonEmptyString,
}) {}

const Teams = Entity.make({
  model: Team,
  entityType: "Team",
  primaryKey: {
    pk: { field: "pk", composite: ["teamId"] },
    sk: { field: "sk", composite: [] },
  },
})

// The derived, fully-typed input schema — no AWS SDK in sight.
type TeamInput = typeof Teams.inputSchema.Type
```

## 与 `effect-dynamodb`

全数 [`effect-dynamodb`](https://www.npmjs.com/package/effect-dynamodb) 软件包 **取决于和 再出口** 这里的一切,然后添加AWS运行时间(DynamoClient, CRUD/query操作, 批/交易/收集,马歇尔。 如果您真的需要读取或写入 DynamoDB, 请使用 `effect-dynamodb` —— 说 `import { Entity, Aggregate, DynamoModel, DynamoSchema } from "effect-dynamodb"` 给您一个相同的定义构建者 **加号** 操作层.

## 许可证

麻省理工学院

## 常见问题

### @effect-dynamodb/schema 是什么？

纯效果 Schema 驱动的实体/聚合模型和关系导出 用于效果- 驱动b —— 可导入而不使用 @aws- sdk

### 如何安装 @effect-dynamodb/schema？

在项目目录运行 npm install @effect-dynamodb/schema，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：effect（^4\.1\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @effect-dynamodb/schema 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @effect-dynamodb/schema 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @effect-dynamodb/schema 可以商用吗？

@effect-dynamodb/schema 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @effect-dynamodb/schema 的下载量有多少？

根据 npm 官方下载统计，@effect-dynamodb/schema 在 2026/10/13 – 2026/11/11 这 30 天内被下载 5,935 次，日均约 198 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @effect-dynamodb/schema 还在维护吗？

最新版本 1\.40\.0 发布于 2026/11/12（1 天前）；至今共发布 44 个版本，其中过去 12 个月发布了 44 个；首次发布于 2026/06/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

