配置 JSON 输出

下表显示了操作和行模型

型号 配置 指导
op 记录级别和 before 和 after 对象下的列值的元数据。 建议用于 CDC,因为它保留显式图像语义。
row 记录级别而非嵌套图像对象的列值。 仅当下游合同需要平面行时才使用。特定于表的运行时方案定义为每个操作表示的映像。
op 与 flatten=true 嵌套图像名称与列名称连接,例如,当分隔符为 . 时,before.STATUS 和 after.STATUS。 适用于在区分之前/之后仍需要使用的平面汇。

核心 JSON 属性

属性 默认/限制 说明
$schema ogg:outputFormatJson JSON 输出配置方案标识符。
model op;op 或 row 记录模型。
beforeImageName before;1-32 个字符 操作模型中前图像对象的名称。
afterImageName after;1-32 个字符 操作模型中后图像对象的名称。
omitNullColumnValues false 省略值为 Null 的列。这使得省略字段的缺失和空值无法区分。
treatAllColumnsAsStrings false 将所有列值写入为字符串,而不是本机 JSON 基元。
flatten false 操作模型中的图像列前后均匀。
flattenDelimiter 0-32 个字符 平展时图像名称与列名称之间的分隔符。
delimiter 0-32 个字符 格式化程序记录分隔符。WebSocket 使用者通常应保留 AsyncAPI YAML 描述的默认数组合同。
staticFields 对象/无 将具有常量值的字段添加到输出记录。
operationStrings 插入、更新、删除、截断、上插、DDL 定制操作标签。在改变之前与每一位消费者进行协调。

方案和元数据排放

属性 默认值 效果
includeJSONSchemaRecord true 发出流元数据、对象元数据、DML 和 DDL 记录的 JSON 方案记录。
includeObjectMetadataRecords true 发出表列元数据。
includeStreamMetadataRecord true 发出生成器和源数据库元数据。

建议:除非受监管的外部方案注册表替换这三个设置,否则请保持启用状态。禁用方案或元数据记录会减少网络容量,但会将版本控制和发现责任转移到使用者平台。

大小和大值控制

属性 默认值 最小值 最大值 行为
maxLobSize 64,000 1 18,446,744,073,709,552,000 LOB 数据被截断超过此大小(以字节为单位)。
maxDDLTextSize 1,000,000 1 4,294,967,295 DDL 语句文本被截断超过此大小(以字节为单位)。
maxRecordSize 1,048,576 131,072 10,485,760 超过大小的记录将被截断或分块。
truncateOrChunk truncate - truncate 或 chunk 选择超大记录处理。

当 truncateOrChunk 为 chunk 时,使用与运行时方案完全相同的块元数据。请勿发明重新装配合同。负载测试最大 LOB 和 DDL 大小,因为 WebSocket 库、代理和下游平台可能会施加额外的帧或消息限制。

元数据字段

大多数 metaFields 条目接受布尔值或字符串。true 包括具有默认输出名称的字段,false 省略该字段,字符串包含在该定制名称下。env、sys 和 tokens 接受由 REST 方案定义的专用对象或值。

属性 默认值 含义
qualifiedTable true 全限定对象名。“默认数据流”字段通常为 qual_table。
opType true 操作类型。默认字段通常为 op_type。
opTs true 操作时间戳默认字段通常为 op_ts。
pos true 不透明恢复位置。请勿对可恢复使用者禁用。
xid true 源事务处理标识。
table false 表名不合格。
schema false 方案或所有者名称。
catalog false 目录名称(如果可用)。
csn false 来源提交序号。
opSeqno false 记录事务处理中的序号。
transInd false 事务处理指示符 B、M、E 或 W。
primaryKeys false 根据配置的格式化程序合同,主键列名或值。
opTsMicroSecs false 操作时间戳为纪元之后的微秒。
currentTs false 当前处理时间戳。
currentTsMicroSecs false 当前处理时间戳为纪元之后的微秒。
tokens null 用户令牌、GoldenGate 令牌、所有令牌或配置的子集。
env null 选定的 GoldenGate 环境值。
sys null 选定的系统环境值。避免泄露秘密。
"metaFields": {
  "qualifiedTable": true,
  "opType": true,
  "opTs": true,
  "pos": true,
  "xid": true,
  "csn": "csn",
  "opSeqno": "op_seqno",
  "transInd": "trans_ind",
  "primaryKeys": "primary_keys"
}

显式字符串名称可清除公共有效负载合同,并避免依赖格式化程序默认名称作为可选元数据。