Docs Menu
Docs Home
/
MongoDB Kafka Connector
/ /

複数のソースの変更をリッスンする

この使用例では、MongoDB Kafka ソース コネクタを構成して、複数の MongoDB コレクションの変更イベントをリッスンし、それらを Kafka トピックに公開する方法を示します。

より特定のデータベースとコレクションの変更イベントをリッスンするようコネクタが必要な場合は、パイプラインを使用できます。 パイプライン は、データをフィルタリングまたは変換するためのデータベースへの指示で構成される MongoDB 集計パイプラインです。 正規表現を使用して、複数のデータベース名とコレクション名を一致させるように connector pipeline設定を構成する方法の例については、次のセクションを参照してください。

注意

databasecollectionの構成設定は、コネクタが変更イベントをリッスンするデータベースとコレクションにも影響します。 これらの設定の詳細については、 MongoDB Source Connect プロパティのガイドを参照してください。

次の例は、集計パイプラインを使用して、変更イベントをリッスンする特定のデータベース名またはコレクション名を選択する方法を示しています。

pipeline設定で以下を指定することで、複数のデータベースの変更イベントのみを選択するための集計パイプラインを定義できます。

  • $match集計演算子

  • 名前空間のデータベース部分を識別するns.dbのフィールド

  • $regex演算子とデータベース名に一致する正規表現

次のサンプル構成は、ソース コネクタを設定して、 データベースとsandbox firewallデータベースの変更イベントをリッスンする方法を示しています。

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

pipeline設定で以下を指定することで、複数のコレクションの変更イベントを無視する集計パイプラインを定義できます。

  • $match集計演算子

  • 名前空間のコレクション部分を識別するns.collフィールド

  • $regex演算子とコレクション名に一致する正規表現

  • 囲む$regex演算子に、正規表現に一致しないすべての部分を一致させるように指示する$not演算子

次のサンプル構成は、ソース コネクタを設定して、任意のデータベース内の「ハイパースペース」という名前のすべてのコレクションから発生する変更イベントをフィルタリングで除外する方法を示しています。

pipeline=[{"$match": {"ns.coll": {"$regex": {"$not": "/^hyperspace$/"}}}}]

戻る

カスタムパイプライン