Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

여러 소스의 변경 사항 수신

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

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

참고

databasecollection 구성 설정은 connector 가 변경 이벤트를 수신하는 데이터베이스 및 컬렉션에도 영향을 줍니다. 이러한 설정에 학습 보려면 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 논리적 쿼리 연산자 및 표현식

돌아가기

사용자 지정 파이프라인