주제 이름 지정
이 페이지의 예제에서는 레코드를 게시하는 주제의 이름을 사용자 지정하도록 MongoDB Kafka 소스 connector를 구성하는 방법을 보여 줍니다.
기본값 MongoDB Kafka 소스 connector 는 변경 이벤트가 발생한 MongoDB 네임스페이스 와 동일한 이름으로 변경 이벤트 데이터를 Kafka 주제 에 게시합니다. 네임스페이스 string 데이터베이스 와 컬렉션 이름이 점 "." 문자.
다음 예에서는 connector 가 변경 이벤트 데이터를 게시하는 Kafka 주제를 사용자 지정할 수 있는 다양한 방법을 보여줍니다.
주제 접두사 예시
변경 이벤트 데이터의 네임스페이스에 문자열을 추가하고 해당 Kafka 주제에 레코드를 게시하도록 소스 connector를 구성할 수 있습니다. 이 설정은 네임스페이스가 있는 접두사를 "." 문자.
주제 접두사를 지정하려면 다음 예시 와 같이 topic.prefix
구성 설정을 사용합니다.
topic.prefix=myPrefix database=test collection=data
설정이 완료되면 connector는 test
데이터베이스의 data
collection에 대한 모든 변경 사항을 myPrefix.test.data
라는 Kafka 주제에 게시합니다.
주제 접미사 예시
변경 이벤트 데이터의 네임스페이스에 문자열을 추가하고 해당 Kafka 주제에 레코드를 게시하도록 소스 connector를 구성할 수 있습니다. 이 설정은 "." 문자.
주제 접미사를 지정하려면 다음 예와 같이 topic.suffix
구성 설정을 사용합니다.
topic.suffix=mySuffix database=test collection=data
설정이 완료되면 connector는 test
데이터베이스의 data
collection에 대한 모든 변경 사항을 test.data.mySuffix
라는 Kafka 주제에 게시합니다.
주제 네임스페이스 맵 예시
수신 변경 이벤트 데이터에 대해 네임스페이스 값을 주제 이름에 매핑하도록 소스 를 구성할 수 있습니다.connector Kafka
변경 이벤트 의 데이터베이스 이름 또는 네임스페이스 가 지도의 필드 중 하나와 일치하는 경우 connector 는 해당 매핑에 해당하는 값에 기록 를 게시합니다.
변경 이벤트 의 데이터베이스 이름 또는 네임스페이스 가 매핑과 일치하지 않는 경우 connector 는 다른 주제 명명 설정에서 달리 지정하지 않는 한 기본값 주제 명명 체계를 사용하여 기록 을 게시합니다.
데이터베이스와 collection을 모두 포함하는 모든 매핑은 소스 데이터베이스 이름만 지정하는 매핑보다 우선합니다.
중요
네임스페이스 맵 일치는 connector가 다른 주제 명명 설정을 적용하기 전에 발생합니다. 정의된 경우 connector는 매핑 후 주제 이름에 topic.prefix
및 topic.suffix
설정을 적용합니다.
다음 예시 에서는 topic.namespace.map
설정을 지정하여 carDb
데이터베이스 에서 automobiles
주제 로, carDb.ev
네임스페이스 에서 electricVehicles
주제 로의 주제 네임스페이스 매핑을 정의하는 방법을 보여 줍니다.
topic.namespace.map={"carDb": "automobiles", "carDb.ev": "electricVehicles"}
carDb.ev
네임스페이스 매핑은 carDb
매핑보다 우선하므로 connector는 다음 조치를 수행합니다.
변경 이벤트가 데이터베이스
carDb
및 collectionev
에서 발생한 경우 connector는 대상을electricVehicles
주제로 설정합니다.변경 이벤트가 데이터베이스
carDb
및ev
이외의 collection에서 발생한 경우 connector는 대상을automobiles.<collectionName>
주제로 설정합니다.변경 문서가
carDb
이외의 데이터베이스에서 가져온 경우 커넥터는 대상 주제를 기본 네임스페이스 명명 체계로 설정합니다.정의된 경우 connector 는 네임스페이스 매핑을 수행한 후 대상 주제 이름에
topic.prefix
및topic.suffix
설정을 적용합니다.
와일드카드를 사용한 주제 네임스페이스 맵 예시
주제 네임스페이스 맵 예제 와 같이 주제 네임스페이스 맵에 데이터베이스 이름과 네임스페이스를 지정하는 것 외에도 와일드카드 *
를 사용하여 매핑 없이 모든 데이터베이스 및 네임스페이스의 변경 이벤트를 일치시킬 수 있습니다.
topic.namespace.map={"carDb": "automobiles", "carDb.ev": "electricVehicles", "*": "otherVehicles"}
앞의 와일드카드 예제에서 커넥터는 carDb
이외의 모든 데이터베이스에서 시작된 변경 문서를 otherVehicles
주제에 게시합니다.