JSON 출력 구성

다음 표는 operation 및 row 모델을 보여줍니다.

모델 구성 지도
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인 경우 런타임 스키마에 정의된 대로 조각 메타데이터를 소비합니다. 재조립 계약을 발명하지 마십시오. WebSocket 라이브러리, 프록시 및 다운스트림 플랫폼에서 추가 프레임 또는 메시지 제한을 적용할 수 있으므로 테스트 최대 LOB 및 DDL 크기를 로드합니다.

메타데이터 필드

대부분의 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"
}

명시적 문자열 이름을 사용하면 공용 페이로드 계약이 명확해지고 선택적 메타데이터에 대해 형식 작성기 기본 이름에 의존하지 않습니다.