编辑条目
DynoTable 在一个真正的代码编辑器中以 JSON 形式编辑条目 —— 提供自动补全、格式化和内联校验 —— 然后把每一次保存都路由经过暂存区,因此在你提交之前任何内容都不会写入 DynamoDB。
从网格中打开一个条目即可编辑它,或按 ⌘N 创建一个新条目。新条目会预填表的键属性;其余的由你填写。

JSON 模式
编辑器标题栏中的一个切换开关用于改变条目的表示方式。Plain 和 DynamoDB JSON 完全无损 —— 在两者之间切换会让 String、Number、Boolean、Null、Map、List 和 Set 来回往返而不改变你的编辑内容。
- Plain —— 基本类型保持朴素(
"count": 3,而非{"N": "3"})。Set 使用一个紧凑的单键标记:字符串集用{"SS": [...]},数字集用{"NS": [...]},二进制集用{"BS": [...]}。这是手动阅读和编辑最简单的模式。 - DynamoDB JSON —— AWS 规范的 marshalled 线缆形式,其中每个值都带有类型包装。当你从其他地方粘贴 DynamoDB-JSON 时使用它。
- Flow —— 解析后条目的只读图(Map、List 和 Set 作为节点)。在理解一条深度嵌套记录的结构时很有用。编辑仍然在底层的 Plain / DynamoDB 缓冲区中进行。
在编辑器中按 ⌘⇧M 循环切换模式。切换开关旁的 ? 会显示每种格式的并排示例。
校验
编辑器会随你输入而校验,并就地呈现问题:
- 格式错误的 JSON 和 schema 违规会显示为编辑器诊断。
- 键属性会被检查,因此你无法保存一个缺少分区键/排序键的条目。
- 按 ⌘⇧F 重新格式化缓冲区。
如果解析错误阻止了模式切换,切换开关会弹回,错误保持可见 —— 你的缓冲区绝不会被悄悄重新格式化成无效的内容。
保存
保存一个条目会将其暂存 —— 该更改会作为一个 diff 加入那张表的暂存区(在该表的每个视图之间共享),并且只有在你提交时才写入 DynamoDB。两个保存快捷键:
- ⌘S —— 暂存更改(不提交)。更安全;先在面板中审阅。
- ⌘⇧S —— 保存并立即提交。
暂存(或一次干净的提交)会关闭编辑器。如果一次提交遇到写入冲突或错误,编辑器会保持打开,让你可以从暂存面板进行 rebase。要继续编辑一个已暂存的更改,从暂存面板的 diff 卡片中重新打开它。
限制
有几个 v1 的边缘情况值得了解:
- 大于 2⁵³ 的数字在两种 JSON 模式下都会损失精度(这是 DynamoDB SDK 的边界)。要无损保存大数字,请在导出时使用 marshalled 变体。
- 在 DynamoDB 模式中编辑的二进制(
B/BS)值在保存时可能会往返成字符串类型 —— 请在 Plain 模式下编辑二进制。


