Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

주제 이름 지정

이 페이지의 예제에서는 레코드를 게시하는 주제의 이름을 사용자 지정하도록 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.prefixtopic.suffix 설정을 적용합니다.

다음 예시 에서는 topic.namespace.map 설정을 지정하여 carDb 데이터베이스 에서 automobiles 주제 로, carDb.ev 네임스페이스 에서 electricVehicles 주제 로의 주제 네임스페이스 매핑을 정의하는 방법을 보여 줍니다.

topic.namespace.map={"carDb": "automobiles", "carDb.ev": "electricVehicles"}

carDb.ev 네임스페이스 매핑은 carDb 매핑보다 우선하므로 connector는 다음 조치를 수행합니다.

  • 변경 이벤트가 데이터베이스 carDb 및 collection ev 에서 발생한 경우 connector는 대상을 electricVehicles 주제로 설정합니다.

  • 변경 이벤트가 데이터베이스 carDbev 이외의 collection에서 발생한 경우 connector는 대상을 automobiles.<collectionName> 주제로 설정합니다.

  • 변경 문서가 carDb 이외의 데이터베이스에서 가져온 경우 커넥터는 대상 주제를 기본 네임스페이스 명명 체계로 설정합니다.

  • 정의된 경우 connector 는 네임스페이스 매핑을 수행한 후 대상 주제 이름에 topic.prefixtopic.suffix 설정을 적용합니다.

주제 네임스페이스 맵 예제 와 같이 주제 네임스페이스 맵에 데이터베이스 이름과 네임스페이스를 지정하는 것 외에도 와일드카드 * 를 사용하여 매핑 없이 모든 데이터베이스 및 네임스페이스의 변경 이벤트를 일치시킬 수 있습니다.

topic.namespace.map={"carDb": "automobiles", "carDb.ev": "electricVehicles", "*": "otherVehicles"}

앞의 와일드카드 예제에서 커넥터는 carDb 이외의 모든 데이터베이스에서 시작된 변경 문서를 otherVehicles 주제에 게시합니다.

돌아가기

다중 출처