여러 소스의 변경 사항 수신
이 사용 예제에서는 여러 MongoDB collection에서 변경 이벤트를 수신하고 이를 Kafka 주제에 게시하도록 MongoDB Kafka source connector를 구성하는 방법을 보여 줍니다.
connector가 보다 특정 데이터베이스 및 collection 집합에서 이벤트를 수신 대기해야 하는 경우 파이프라인 을 사용할 수 있습니다. 파이프라인은 데이터를 필터링하거나 변환하라는 데이터베이스에 대한 지침으로 구성된 MongoDB 집계 파이프라인입니다. 정규 표현식을 사용하여 여러 데이터베이스 및 collection 이름과 일치하도록 connector pipeline
설정을 구성하는 방법의 예는 다음 섹션을 참조하세요.
참고
database
및 collection
구성 설정은 connector 가 변경 이벤트를 수신하는 데이터베이스 및 컬렉션에도 영향을 줍니다. 이러한 설정에 학습 보려면 MongoDB 소스 연결 속성 가이드 를 참조하세요.
예시
다음 예제에서는 집계 파이프라인을 사용하여 변경 이벤트를 수신할 특정 데이터베이스 또는 collection 이름을 선택하는 방법을 보여 줍니다.
여러 데이터베이스의 변경 이벤트 포함
pipeline
설정에서 다음을 지정하여 여러 데이터베이스에서 변경 이벤트만 선택하도록 집계 파이프라인을 정의할 수 있습니다.
$match
애그리게이션 연산자네임스페이스의 데이터베이스 부분을 식별하는
ns.db
필드$regex
연산자 및 데이터베이스 이름과 일치하는 정규 표현식
다음 샘플 구성은 sandbox
및 firewall
데이터베이스에서 변경 이벤트를 수신하도록 소스 connector를 설정하는 방법을 보여줍니다.
pipeline=[{"$match": {"ns.db": {"$regex": "/^(sandbox|firewall)$/"}}}]
여러 collection에서 변경 이벤트 제외
pipeline
설정에서 다음을 지정하여 여러 collection에서 변경 이벤트를 무시하도록 집계 파이프라인을 정의할 수 있습니다.
$match
애그리게이션 연산자네임스페이스의 컬렉션 부분을 식별하는
ns.coll
필드$regex
연산자 및 collection 이름과 일치하는 정규 표현식$not
연산자는 바깥쪽$regex
연산자가 정규 표현식과 일치하지 않는 모든 항목과 일치하도록 지시합니다.
다음 샘플 구성은 모든 데이터베이스의 "Hyperspace"라는 이름의 모든 collection에서 발생하는 이벤트를 필터링하도록 source connector를 설정하는 방법을 보여줍니다.
pipeline=[{"$match": {"ns.coll": {"$regex": {"$not": "/^hyperspace$/"}}}}]