複数のソースの変更をリッスンする
この使用例では、MongoDB Kafka ソース コネクタを構成して、複数の MongoDB コレクションの変更イベントをリッスンし、それらを Kafka トピックに公開する方法を示します。
より特定のデータベースとコレクションの変更イベントをリッスンするようコネクタが必要な場合は、パイプラインを使用できます。 パイプライン は、データをフィルタリングまたは変換するためのデータベースへの指示で構成される MongoDB 集計パイプラインです。 正規表現を使用して、複数のデータベース名とコレクション名を一致させるように connector pipeline
設定を構成する方法の例については、次のセクションを参照してください。
注意
database
とcollection
の構成設定は、コネクタが変更イベントをリッスンするデータベースとコレクションにも影響します。 これらの設定の詳細については、 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$/"}}}}]