문서 메뉴

문서 홈애플리케이션 개발MongoDB Kafka Connector

여러 소스의 변경 사항 수신

이 사용 예제에서는 여러 MongoDB collection에서 변경 이벤트를 수신하고 이를 Kafka 주제에 게시하도록 MongoDB Kafka source connector를 구성하는 방법을 보여 줍니다.

connector가 보다 특정 데이터베이스 및 collection 집합에서 이벤트를 수신 대기해야 하는 경우 파이프라인 을 사용할 수 있습니다. 파이프라인은 데이터를 필터링하거나 변환하라는 데이터베이스에 대한 지침으로 구성된 MongoDB 집계 파이프라인입니다. 정규 표현식을 사용하여 여러 데이터베이스 및 collection 이름과 일치하도록 connector pipeline 설정을 구성하는 방법의 예는 다음 섹션을 참조하세요.

참고

databasecollection 구성 설정은 connector가 변경 이벤트를 수신하는 데이터베이스 및 collection에도 영향을 줍니다. 이러한 설정에 대해 자세히 알아보려면 MongoDB 소스 연결 속성 가이드를 참조하세요.

다음 예제에서는 집계 파이프라인을 사용하여 변경 이벤트를 수신할 특정 데이터베이스 또는 collection 이름을 선택하는 방법을 보여 줍니다.

pipeline 설정에서 다음을 지정하여 여러 데이터베이스에서 변경 이벤트만 선택하도록 집계 파이프라인을 정의할 수 있습니다.

  • $match 애그리게이션 연산자

  • 네임스페이스의 데이터베이스 부분을 식별하는 ns.db 필드

  • $regex 연산자 및 데이터베이스 이름과 일치하는 정규 표현식

다음 샘플 구성은 sandboxfirewall 데이터베이스에서 변경 이벤트를 수신하도록 소스 connector를 설정하는 방법을 보여줍니다.

pipeline=[{"$match": {"ns.db": {"$regex": "/^(sandbox|firewall)$/"}}}]

pipeline 설정에서 다음을 지정하여 여러 collection에서 변경 이벤트를 무시하도록 집계 파이프라인을 정의할 수 있습니다.

  • $match 애그리게이션 연산자

  • 네임스페이스의 컬렉션 부분을 식별하는 ns.coll 필드

  • $regex 연산자 및 collection 이름과 일치하는 정규 표현식

  • $not 연산자는 바깥쪽 $regex 연산자가 정규 표현식과 일치하지 않는 모든 항목과 일치하도록 지시합니다.

다음 샘플 구성은 모든 데이터베이스의 "Hyperspace"라는 이름의 모든 collection에서 발생하는 이벤트를 필터링하도록 source connector를 설정하는 방법을 보여줍니다.

pipeline=[{"$match": {"ns.coll": {"$regex": {"$not": "/^hyperspace$/"}}}}]
  • $match 애그리게이션 연산자

  • MongoDB 변경 이벤트

  • MongoDB 네임스페이스

  • 패턴 클래스 를 사용하는 정규 표현식 구문

  • $not 논리적 쿼리 연산자 및 표현식

← 변경 이벤트를 필터링하도록 파이프라인 사용자 지정하기