데이터 스트림 생성 및 관리합니다.
사용자 인터페이스에서 데이터 스트림 생성
-
왼쪽 탐색 창에서 데이터 스트림을 선택하여 [데이터 스트림] 페이지를 엽니다.
-
데이터 스트림 추가 단추를 누릅니다. Add Data Stream(데이터 스트림 추가) 다이어그램이 표시됩니다.

-
데이터 스트림 정보 페이지의 이름 상자에 고유한 리소스 이름을 입력합니다.
이름은 1자에서 32자 사이여야 하며, 문자로 시작합니다. 체크포인트가 스트림 계약에 범위가 지정되므로 안정적인 이름을 사용합니다. 다음을 누릅니다.

-
비즈니스 소유자, 소스 추적, 테이블, 소비자 및 복구 목표에 대한 설명을 추가합니다.
-
소스 옵션 페이지에서 다음 이미지에 표시된 옵션에 대한 값을 제공합니다.

-
트레일 이름: 소스 추적 파일의 이름입니다. 추적 이름은 서비스에서 수락한 소스 추적 접두어 또는 소스 끝점을 식별하는 2자여야 합니다.
-
트레일 하위 디렉토리: 추적 파일이 저장되는 하위 디렉토리의 경로입니다. 기본 위치에 없는 경우 소스 추적이 저장되는 GoldenGate 배치 아래의 디렉토리입니다.
-
인코딩: 이 옵션은 데이터 스트림에 대한 레코드 인코딩을 제어합니다. 현재 JSON 인코딩이 지원됩니다. 고급 JSON 옵션에 YAML 편집기 또는 REST 구성을 사용합니다.
-
버퍼 크기: 이 값은 데이터 스트리밍 서비스에 사용되는 메모리 버퍼 크기를 제어합니다. 데이터 스트리밍 서비스는 총 바이트 크기가 지정된 값을 초과한 후 인메모리 메시지 대기열을 비우고 클라이언트에 레코드를 전달합니다. 범위는 131,072에서 10,485,760 사이이고 기본값은 1,048,576입니다. 지속적 유지는 아닙니다.
-
서비스 품질: 이 옵션은 데이터 스트림 중복 숨김 및 복구 동작을 정의합니다.
exactlyOnce,atLeastOnce또는atMostOnce.기본값이 아닌 값을 선택하기 전에 체크포인트, 복구 및 전달 의미를 참조하십시오.
데이터 스트리밍 서비스에서는 다음과 같은 세 가지 수준의 서비스 품질이 지원됩니다.
-
정확히 한 번: 이 모드는 소스 추적에서
RESTART OK/ABEND레코드를 보는 동안 서비스가 중복 레코드를 필터링하여 제외하는 가장 제한적인 모드입니다. 클라이언트에게 중복 레코드가 표시되지 않습니다. 서비스에서 마지막으로 처리된 직위가 지정된 레코드를 찾을 수 없는 경우 오류가 발생합니다. -
최소 한 번: 이 모드는 복구 중 또는 소스 추적에서
RESTART OK/ABEND레코드를 확인하는 동안 중복 레코드를 표시하지 않습니다. 클라이언트가 데이터 스트림에서 중복 레코드를 볼 수 있습니다. 또한 서비스가 마지막으로 처리된 직위가 지정된 레코드를 찾을 수 없는 경우 오류가 발생합니다. -
최대 한 번: 이 모드는 복구 중 또는 소스 추적에
RESTART OK/ABEND레코드가 표시되는 동안 중복 레코드를 숨깁니다. 클라이언트는 데이터 스트림에서 중복 레코드를 볼 수 없습니다. 서비스에서 지정된 마지막 처리된 포지션의 레코드를 찾을 수 없는 경우 다음 사용 가능한 레코드를 찾아 앞으로 이동합니다.
-
-
CloudEvents 형식: 데이터 스트리밍 서비스는 CloudEvents 형식의 데이터 레코드 전송을 지원합니다. CloudEvents JSON에서 GoldenGate 레코드를 래핑합니다. 기본적으로 사용 안함으로 설정됩니다. 기본적으로 이 형식은 사용 안함으로 설정되며 데이터 스트리밍 채널을 생성할 때 토글 스위치를 사용하여 등록 정보를 사용으로 설정하여 제어할 수 있습니다.
-
-
다음 이미지와 같이 필터링 옵션 페이지에서 필터링 규칙 포함 및 제외 옵션을 사용할 수 있습니다.

다음과 같이 필터링 규칙 옵션을 지정합니다.
-
규칙 작업: 제외 또는 포함 옵션을 선택합니다.
-
필터 유형: 필터 유형에는 다음이 포함됩니다.
객체 유형: 드롭다운 목록에서 DML, DDL, INSERT, UPDATE, UPSERT, DELETE를 비롯한 여러 옵션을 선택할 수 있습니다.
객체 이름: 이전에 생성된 필터링 객체의 이름입니다.
-
데이터 스트림 프로세스에 필터링 규칙을 추가하려면 추가를 누릅니다.
-
데이터 스트림 생성을 누릅니다. 데이터 스트림이 나열된 분배 서비스 홈 페이지로 돌아갑니다.
-
생성된 데이터 스트림을 눌러 스트림에 대한 YAML 문서 데이터 스트리밍 AsyncAPI 정의를 봅니다.
사용자 인터페이스에서 데이터 스트림 구성 편집
데이터 스트림 구성을 편집하려면 다음을 수행합니다.
-
왼쪽 탐색 창에서 Data Streams를 누릅니다.
-
수정해야 하는 데이터 스트림의 이름을 선택합니다.
-
[데이터 스트림] 페이지에서 작업 열을 사용하여 데이터 스트림 세부정보를 보고, 데이터 스트림을 삭제하고, 필터링을 변경합니다.

-
작업 메뉴에서 필터링 변경 옵션을 누르면 데이터 스트림 필터링 규칙 편집 대화상자가 표시됩니다. 이 상자에서 규칙 작업(포함, 제외) 및 필터 유형(객체 이름 또는 객체 유형)을 변경할 수 있습니다.
-
추가를 눌러 필터링을 적용합니다.
-
제출을 눌러 [데이터 스트림] 페이지를 반환합니다.
이름 열에서 데이터 스트림을 눌러 데이터 스트림을 추가로 편집할 수 있습니다. 전체 데이터 스트림 구성을 표시합니다. 각 구성 설정 옆에 있는 연필 아이콘을 사용하여 변경합니다. 데이터 스트림에 사용되는 소스 추적 파일, 필터링 규칙 및 서비스 품질을 변경할 수 있습니다. YAML 편집기를 사용하여 YAML 편집기 옆에 있는 변경사항 업로드 아이콘을 사용하여 데이터 스트림 구성을 변경하고 변경사항을 업로드할 수도 있습니다.
REST API로 데이터 스트림 생성
관리자 계정과 함께 POST /services/v2/stream/{streamName}를 사용합니다. 최소 요청은 소스 트레일을 식별합니다.
{
"$schema": "ogg:dataStream",
"source": {
"trail": "ea",
"path": "./dirdat"
}
}
프로덕션 요청은 일반적으로 서비스 품질, 필터, JSON 스키마 배출, 메타데이터 필드 및 크기 제어를 명시적으로 설정합니다. 지원 파일 data_stream_create_request.json에는 완전한 sanitized 예제가 포함되어 있습니다.
{
"$schema": "ogg:dataStream",
"description": "Streams sales order changes",
"source": {"trail": "ea", "path": "./dirdat"},
"qualityOfService": "exactlyOnce",
"bufferSize": 1048576,
"tcpKeepAliveTimeout": 120,
"cloudEventsFormat": false,
"rules": [
{
"action": "include",
"filter": {"objectNames": ["SALES.ORDERS", "SALES.ORDER_ITEMS"]}
}
],
"encoding": {
"json": {
"$schema": "ogg:outputFormatJson",
"model": "op",
"includeJSONSchemaRecord": true,
"includeObjectMetadataRecords": true,
"includeStreamMetadataRecord": true,
"metaFields": {
"qualifiedTable": true,
"opType": true,
"opTs": true,
"pos": true,
"xid": true,
"csn": "csn",
"opSeqno": "op_seqno",
"transInd": "trans_ind"
}
}
}
}
최상위 레벨 구성 속성
다음 표에서는 스트림 구성에 사용되는 구성 등록 정보를 제공합니다.
| 속성 | 유형/기본값 | 설명 |
|---|---|---|
$schema |
문자열 / ogg:dataStream |
구성 스키마 식별자입니다. |
source |
객체/필수 | 소스 추적 및 선택적 경로입니다. |
description |
문자열/없음 | 데이터 스트림을 설명하는 1-4,096자입니다. |
qualityOfService |
열거/exactlyOnce |
atLeastOnce, exactlyOnce 또는 atMostOnce |
bufferSize |
정수 / 1,048,576 | 비우기 임계값(바이트)입니다. 최소 131,072개, 최대 10,485,760개. |
tcpKeepAliveTimeout |
정수 / 120 | TCP 활성화 유지 시간 초과(초)입니다. 최소 1, 최대 10,800개. |
cloudEventsFormat |
부울 / false |
CloudEvents JSON 봉투를 사용으로 설정합니다. |
rules |
배열/없음 | 1 ~ 1,024에는 규칙이 포함되거나 제외됩니다. |
encoding |
문자열 또는 객체 / json |
기본값의 경우 "json", 고급 출력 설정의 경우 {"json": {...}}를 사용합니다. |
데이터 스트림 검색, 업데이트, 나열 및 삭제
다음 표를 사용하여 데이터 스트림을 관리하거나 삭제할 수 있습니다.
| 태스크 | 메소드 및 경로를 지정합니다. | 역할 |
|---|---|---|
| 스트림 나열 | GET /services/v2/stream |
사용자 |
| 구성 가져오기 | GET /services/v2/stream/{streamName} |
연산자 |
| 생성된 YAML 가져오기 | GET /services/v2/stream/{streamName}/yaml |
사용자 |
| 구성 업데이트 | PATCH /services/v2/stream/{streamName} |
관리자 |
| YAML 업데이트 | PATCH /services/v2/stream/{streamName}/yaml |
관리자 |
| 스트림 삭제 | DELETE /services/v2/stream/{streamName} |
관리자 |
주의: 필드 이름, 작업 문자열, 레코드 모델, 필터 또는 스키마 배출을 변경하면 소비자 계약이 변경됩니다. 운용 롤아웃 전에 변경사항을 조정하고, 계약의 버전을 지정하고, 기존 체크포인트에서 재시작을 테스트합니다.
생성된 YAML을 배포된 계약으로 사용
생성된 YAML에는 배치별 서버, 채널 주소, begin 질의 매개변수, 메시지 페이로드 및 지원되는 레코드 스키마가 포함됩니다. 생성 후와 모든 구성 변경 후 검색합니다. 검토된 복사본을 소비자 릴리스와 저장하지만 배포 검증 중에는 항상 런타임 버전과 비교합니다.