このページでは、MongoDB Kafka シンク コネクタで利用可能なすべての構成プロパティを表示できます。 このページは、他の Sink Connector 構成プロパティ ページの内容を重複させます。
すべての Sink Connector 構成プロパティ ページの一覧を表示するには、「 Sink Connector 構成プロパティ 」ページを参照してください。
次の構成設定を使用して、MongoDB Kafka Sink Connector が MongoDBクラスターに接続して通信する方法を指定します。
MongoDB 接続の構成に関連するオプションのみを表示するには、「 MongoDB 接続構成のプロパティ 」ページを参照してください。
名前
説明
Type: stringDescription: The Stable API version you want to use with your MongoDB server. For more information on the Stable API and versions of the server that support it, see the Stable API MongoDB server manual guide.Default : ""Accepted Values : An empty string or a valid Stable API version.
server.api.deprecationErrors
Type: booleanDescription: When set to true, if the connector calls a command on your MongoDB instance that's deprecated in the declared Stable API version, it raises an exception. You can set the API version with the server.api.version configuration option. For more information on the Stable API, see the MongoDB manual entry on the Stable API .Default : falseAccepted Values : true or false
タイプ:ブール値説明: true に設定すると、server.api.version コネクタ が宣言された Stable APIバージョンでカバーされていないMongoDBインスタンス上のコマンドを呼び出すと、例外が発生します。 構成オプションを使用してAPIバージョンを設定できます。 Stable APIの詳細については、 Stable APIに関するMongoDB のマニュアル エントリを参照してください。デフォルト: false 許容値:true またはfalse
次の構成設定を使用して、MongoDB Kafka Sink Connector がデータを書き込む MongoDB database とコレクションを指定します。 デフォルトのDefaultNamespaceMapperを使用することも、カスタム クラスを指定することもできます。
コネクタがデータを書き込む場所の指定に関連するオプションのみを表示するには、「 MongoDB 名前空間マッピング構成プロパティ 」ページを参照してください。
名前
説明
タイプ : string説明 : データをシンクするデータベースまたはコレクションを指定するクラスの完全修飾クラス名。デフォルトの DefaultNamespaceMapper では、database プロパティと collection プロパティで指定された値が使用されます。FieldPathNamespaceMapperコネクタには、 と呼ばれるデータベースとコレクションを指定するための代替クラスが含まれています。詳細については、FieldPathNamespaceMapper 設定 を参照してください。デフォルト :
com.mongodb.kafka.connect.sink.namespace.mapping.DefaultNamespaceMapper
受け入れ値 : NamespaceMapperインターフェースを実装するクラスの完全修飾 Java クラス名。
必須 タイプ : string説明 : シンク コネクターが書き込む MongoDB データベースの名前。受け入れられる値 : MongoDB データベース名
タイプ : string説明 : シンク コネクターの書き込み (write) 先となる MongoDB コレクションの名前。シンク コネクターが複数のトピックをフォローする場合、これはその他に指定されていない書き込みのデフォルト コレクションです。
デフォルト : トピック名。
許容値 : MongoDB コレクション名
FieldPathNamespaceMapperを使用するように Sink Connector を構成すると、データの フィールド値に基づいて、ドキュメントを Sink するデータベースとコレクションを指定できます。
このマッピング動作を有効にするには、以下に示すように、Sink Connector namespace.mapper構成プロパティを完全修飾クラス名に設定します。
namespace.mapper =com.mongodb.kafka.connect.sink.namespace.mapping.FieldPathNamespaceMapper
FieldPathNamespaceMapperでは、次の設定を指定する必要があります。
プロパティをデータベースとコレクションにマッピングする 1 つまたは両方
データベースへのkeyまたはvalueマッピングの 1 つ
コレクションへの マッピングまたは マッピングの 1 つkeyvalue
FieldPathNamespaceMapperの動作をカスタマイズするには、次の設定を使用します。
名前
説明
namespace.mapper.key.database.field
タイプ : string説明 : 書き込み先のデータベース名を指定するキー ドキュメント フィールドの名前。
namespace.mapper.key.collection.field
型 : string説明 : 書き込むコレクションの名前を指定するキー ドキュメント フィールドの名前。
namespace.mapper.value.database.field
タイプ : string説明 : 書き込み先のデータベース名を指定する値ドキュメントフィールドの名前。
namespace.mapper.value.collection.field
タイプ : string説明 : 書き込むコレクションの名前を指定する値ドキュメント フィールドの名前。
namespace.mapper.error.if.invalid
タイプ : ブール値説明 : ドキュメントにマップされたフィールドがない場合、または無効な BSON タイプがある場合に例外をスローするかどうか。true に設定すると、マップされたフィールドがないドキュメント、または無効な BSON タイプを含むドキュメントはコネクターによってプロセシングされません。コネクターは関連するエラー処理の構成設定に応じて、プロセシングを停止またはスキップする場合があります。false に設定すると、ドキュメントにマップされたフィールドがない場合、または無効な BSON タイプがある場合、コネクターは指定された database および collection 設定への書き込みをデフォルトとします。デフォルト : false受け入れられる値 : true または false
次の構成設定を使用して、MongoDB Kafka Sink Connector がデータを監視する Kafka トピックを指定します。
Kafkaトピックの指定に関連するオプションのみを表示するには、「Sink Connector のKafka topic プロパティ 」ページを参照してください。
名前
説明
必須 タイプ: リスト説明: シンク コネクターが監視する Kafka トピックのリスト。
topicsまたはtopics.regexのいずれかの設定を定義できますが、両方を定義することはできません。
許容値 : 有効な Kafka トピックのコンマ区切りリスト
必須 タイプ: string説明: シンク コネクターが監視する Kafka トピックに一致する正規表現。
例、次の正規表現は、"active.laning.clients" などのトピック名と一致します。 "active.support.client" は、 トピック名 および "active.client" は、
topics.regex =activity \\ . \\ w+ \\ .clicks$
topicsまたはtopics.regexのいずれかの設定を定義できますが、両方を定義することはできません。
許容値 : java.util.regex.Patternを使用する有効な正規表現パターン。
このページの設定を使用して、次のような MongoDB Kafka Sink Connector のメッセージ処理動作を構成します。
変更データ キャプチャ ハンドラーに関連するオプションのみを表示するには、[ Connector Message Processing プロパティ ] ページを参照してください。
名前
説明
タイプ: int説明: プロセシングのためにバッチするシンク レコードの最大数。 以下のレコードを含むバッチするを考慮します。
0に設定すると、コネクターはバッチ全体に対して1回のバルク書き込みを実行します。1に設定すると、コネクターはバッチ内の各レコードに対して1回のバルク書き込みを実行します。次の例に示すように、合計5回のバルク書き込みが実行されます。
デフォルト : 0許容値 : 整数
タイプ: ブール値説明: コネクターがレコードのバッチを順序付きの一括書き込み操作として書き込むか、順序付きでない一括書き込み操作として書き込むかを示します。true に設定すると、デフォルト値であるため、コネクターはレコードのバッチを順序付きの一括書き込み操作として書き込みます。 一括書き込み操作の詳細については、「一括書き込み操作 」を参照してください。デフォルト : true受け入れる値 : true または false
型: int説明: シンクコネクターがレート制限タイムアウトをtriggerするために処理するレコードのバッチ数。値が 0 の場合、レート制限はありません。デフォルト : 0受け入れる値 : 整数
タイプ: int説明: レート制限のしきいちに達した後、シンク コネクターがプロセシングを再開するまでの待機時間(ミリ秒)。デフォルト : 0受け入れ可能な値 : 整数
タイプ: int説明: このコネクターで作成するタスクの最大数。コネクターは、指定された最大タスク数より少ない数のタスクを作成する場合があります。指定された並列化レベルを取り扱えない場合。重要: 1 より大きい値を指定する場合、コネクターはタスクの並列プロセシングを有効にします。トピックに複数のパーティション ログがある場合、これによりコネクターはトピックからメッセージを並列で読み取ることができますが、タスクはメッセージを順序に処理できない場合があります。デフォルト : 1受け入れ可能な値 : 整数
MongoDB Kafka Sink Connector がエラーを処理する方法を指定し、デッド レター キューを構成するには、次の構成設定を使用します。
エラー処理に関連するオプションのみを表示するには、「 Connector エラー処理プロパティ 」ページを参照してください。
名前
説明
タイプ: string 説明:コネクタがエラーを発生した場合にメッセージの処理を続行するかどうか。 コネクタ がerrors.tolerance Kafkaクラスター設定を上書きできるようにします。 noneに設定すると、コネクタはエラーを報告し、メッセージの残りの部分の処理をブロックします。 に設定すると、コネクタは問題のあるメッセージを無視します。 allに設定すると、コネクタはデータ エラーのみを許容し、他のすべてのエラーでは失敗します。エラー処理戦略の詳細については、「 data エラーの処理 」ページを参照してください。このプロパティは、接続フレームワークの errors.toleranceプロパティを上書きします。デフォルト: errors.tolerance 設定から値を継承します。使用可能な値:"none" または"all"
タイプ:ブール値値 説明:コネクタが失敗した操作を含むエラーの詳細をログファイルに書込むかどうか。コネクタはエラーを "totalated"errors.tolerance mongo.errors.toleranceとして分類します。または true"許可されていない" と または 設定を使用します。 に設定すると、コネクタは両方の をログに記録します。および"許可されていない" falseのエラー。 に設定すると、コネクタは「許可されていない」ことをログに記録します。エラー。このプロパティはエラーを上書きします。接続フレームワークの .enableプロパティをログ。デフォルト: false 許容値:true またはfalse
errors.log.include.message
タイプ: ブール値説明: コネクターがエラーをログする際に無効なメッセージを含めるかどうか。無効なメッセージには、レコードキー、値、ヘッダーなどのデータが含まれます。デフォルト: false受け入れ可能な値 : true または false
errors.readterqueue.token.name
タイプ: string説明: デッドレターキュー (DLQ)として使用するトピックの名前。空白の場合、コネクターは無効なメッセージをデッドレターキュー (DLQ)に送信しません。 デッドレターキュー (DLQ) について詳しくは、「デッドレターキュー構成例 」を参照してください。デフォルト: ""受け入れる値 : 有効な Kafka トピック名
errors.readletterqueue.context.headers.enable
タイプ: ブール値説明: コネクターがデッドレターキュー (DLQ)にメッセージを書き込み (write)するときに、コンテキスト ヘッダーを含めるかどうか。 デッドレターキュー (DLQ) について詳しく学ぶには、デッドレターキュー (DLQ) の構成例 を参照してください。 コネクターが定義し、コンテキスト ヘッダーを介して報告する例外について学ぶには、一括書き込みの例外 を参照してください。デフォルト: false受け入れ可能な値: true または false
errors.readletterqueue.topi.replication.factor
タイプ: 整数説明: デッドレターキュー (DLQ)トピックを複製するノードの数。単一ノードの Kafka クラスターを実行している場合は、これを 1 に設定する必要があります。 デッドレターキュー (DLQ)について詳しくは、デッドレターキュー (DLQ)の構成例 を参照してください。デフォルト: 3受け入れ可能な値 : 有効なノード数
次の構成設定を使用して、MongoDB Kafka Sink Connector が Kafka データを MongoDB に挿入する前に変換する方法を指定します。
ポストプロセッサに関連するオプションのみを表示するには、「 Sink Connector ポストプロセッサのプロパティ 」ページを参照してください。
名前
説明
タイプ: list説明: MongoDB に保存する前にデータを処理するためにコネクターが適用する書き込み後のプロセッサー クラスのリスト。 書き込み処理について詳しく学ぶには、また、その使用例を参照するには、 Sink Connector 書き込み処理 を参照してください。デフォルト :
com.mongodb.kafka.connect.sink.processor.DocumentIdAdder
受け入れ値 : 完全修飾 Java クラス名のコンマ区切りリスト
型: string説明: キー フィールドと値フィールドのフィールド名マッピングのリスト。マッピングを次の形式のインライン JSON 配列で定義します。
[ { "oldName":"key.fieldA", "newName":"field1" }, { "oldName":"value.xyz", "newName":"abc" } ]
デフォルト : []受け入れ可能な値 : 有効な JSON 配列
タイプ: string説明: 正規表現を使用したキーフィールドと値フィールドのフィールド名マッピングのリスト。マッピングを次の形式のインライン JSON 配列で定義します。
[ {"regexp":"^key\\\\..*my.*$", "pattern":"my", "replace":""}, {"regexp":"^value\\\\..*$", "pattern":"\\\\.", "replace":"_"} ]
デフォルト : []受け入れ可能な値 : 有効な JSON 配列
タイプ: string説明: コネクターがキー プロジェクションに含める必要があるフィールド名のリスト。デフォルト : ""受け入れられる値 : フィールド名のカンマ区切りリスト
タイプ: string説明: コネクターが使用するプロジェクションのキーのタイプ。 デフォルト:none 受け入れ可能な値:none 、BlockList 、またはAllowList (非推奨: blacklist、whitelist)
〈strong〉タイプ:〈/strong〉 string〈br /〉〈br /〉〈strong〉説明:〈/strong〉〈br /〉コネクターが値プロジェクションに含める必要があるフィールド名のリスト。〈br /〉〈br /〉デフォルト : ""受け入れられる値 : フィールド名のカンマ区切りリスト
タイプ: string説明: コネクターが使用する値プロジェクションのタイプ。 デフォルト:none 受け入れ可能な値:none 、BlockList 、またはAllowList (非推奨: blacklist、whitelist)
Type: stringDescription: The class that specifies the WriteModelStrategy the connector should use for Bulk Writes . To learn more about how to create your own strategy, seeCustom Write Model Strategies .Default :
com.mongodb.kafka.connect.sink.writemodel.strategy.DefaultWriteModelStrategy
許容値 : 完全修飾 Java クラス名
次の構成設定を使用して、MongoDB Kafka Sink Connector が MongoDB に書込む各ドキュメントの_id値を決定する方法を指定します。
ドキュメントの_idフィールドの決定に関連するオプションのみを表示するには、「 Sink Connector ID 戦略のプロパティ 」ページを参照してください。
名前
説明
タイプ: string説明: コネクターが一意の _id フィールドの生成に使用するクラス。デフォルト :
com.mongodb.kafka.connect.sink.processor.id.strategy.BsonOidStrategy
受け入れ値 : 空のstringまたは完全修飾Javaクラス名
document.id.stratey.overwrite.existing
タイプ: ブール値説明: コネクターが document.id.strategy プロパティで定義されたストラテジーを適用する際に、_id フィールドの既存の値を上書きするかどうか。デフォルト : false受け入れる値 : true または false
document.id.strategy.uuid.format
タイプ: ブール値説明: キー値が MongoDB のドキュメントと一致し、値フィールドが null の場合、コネクターがドキュメントを削除するかどうか。 この設定は、FullKeyStrategy、PartialKeyStrategy、ProvidedInKeyStrategyなどのキードキュメントで操作する ID 生成ストラテジーを指定した場合に適用されます。デフォルト : false受け入れ可能な値 : true または false
構成プロパティを設定して、MongoDB Kafka Sink Connector が MongoDB にデータを書込む方法を指定できます。 次のセクションでは、この動作をカスタマイズするために設定できる構成プロパティについて説明します。
Sink Connector が Sink レコードを受信したときにデータを書込む方法を指定するには、 writemodel.strategy構成プロパティを設定します。
writemodel.strategyの値は、このページの「戦略 」セクションで説明されている書込みモデル戦略の完全修飾クラス名のいずれかに設定できます。 次の構成を設定することで、戦略を指定できます。
writemodel.strategy =<a write model strategy>
Sink Connector がトゥームストーン イベントを受信したときにデータを書き込む方法を指定するには、 delete.writemodel.strategy構成プロパティを設定します。 トゥームストーン イベントとは、キーを含むが値は含まないレコードであり、削除されたレコードを意味します。
delete.writemodel.strategyの値は、このページの「戦略 」セクションで説明されている書込みモデル戦略の完全修飾クラス名のいずれかに設定できます。 次の構成を設定することで、戦略を指定できます。
delete.writemodel.strategy =<a write model strategy>
書込みモデル戦略に関連するオプションのみを表示するには、「 Sink Connector 書込みモデル戦略 」ページを参照してください。
名前
説明
説明: この戦略では、デフォルトでは ReplaceOneDefaultStrategy が使用され、timeseries.timefield オプションを設定すると InsertOneDefaultStrategy が使用されます。 これは、writemodel.strategy 構成プロパティのデフォルト値です。
説明: 各シンクレコードをドキュメントとして MongoDB に挿入します。 この戦略を指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.InsertOneDefaultStrategy
説明: _id フィールドによってシンク レコードと一致する MongoDB のドキュメントを最大 1 つ置き換えます。一致するドキュメントがない場合、コネクターはシンク レコードを新しいドキュメントとして挿入します。 この戦略を指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.ReplaceOneDefaultStrategy
ReplaceOne BusinessKeyStratey
説明: 指定されたビジネス キーに一致するシンク レコードと一致するドキュメントを最大 1 つ置き換えます。一致するドキュメントがない場合、コネクターはシンク レコードを新しいドキュメントとして挿入します。 この戦略を指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.ReplaceOneBusinessKeyStrategy
この戦略の使用方法を示す例えについては、書込みモデル戦略に関するガイド を 参照してください。
説明: ドキュメントにヌル値構造が含まれている場合にのみ、_id フィールドによってシンク コネクターのキー構造に一致するドキュメントを最大 1 つ削除する。 これは、delete.writemodel.strategy 構成プロパティのデフォルト値です。 このストラテジは、delete.on.null.values=true を設定すると、writemodel.strategy プロパティのデフォルト値として設定されます。 このストラテジを指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.DeleteOneDefaultStrategy
DeleteOne BusinessKeyStratey
説明: ビジネス キーによってシンク レコードと一致する最大 1 つの MongoDB ドキュメントを削除します。 この戦略を指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.DeleteOneBusinessKeyStrategy
この戦略の使用方法を示す例えについては、書込みモデル戦略に関するガイド を 参照してください。
説明: _id フィールドによってシンク レコードに一致するMongoDBのドキュメントを最大 1 つ更新します。一致するドキュメントがない場合、コネクターはシンク レコードを新しいドキュメントとして挿入します。 このストラテジを指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneDefaultStrategy
UpdateOneTimestampsStratey
説明: ドキュメントに _insertedTS (挿入タイムスタンプ) と _modifiedTS (変更タイムスタンプ) フィールドを追加します。 この戦略を指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneTimestampsStrategy
この戦略の使用方法を示す例えについては、書込みモデル戦略に関するガイド を 参照してください。
UpdateOne BusinessKeyTimestampStratey
説明: ビジネスキーに一致するドキュメントに _insertedTS (挿入タイムスタンプ) と _modifiedTS (変更タイムスタンプ) フィールドを追加します。 この戦略を指定するには、構成プロパティを次のクラス名に設定します。
com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneBusinessKeyTimestampStrategy
次の MongoDB Kafka Sink Connector 構成設定を使用して、特定のトピックのグローバルまたはデフォルトのプロパティ設定をオーバーライドします。
トピック設定の上書きに関連するオプションのみを表示するには、「トピックの上書きプロパティ 」ページを参照してください。
名前
説明
topic.<topicName> overwrite.{tolicName>.<propertyName>
タイプ: string説明: トピックとプロパティ名を指定して、対応するグローバルまたはデフォルトのプロパティ設定を上書きます。 例えば、 設定は、シンクtopic.override.foo.collection=bar コネクターに、 トピックのデータをfoo bar コレクションに保存するよう指示します。<propertyName>connection.uriとtopics を除き、 セグメントでトピック単位で有効な構成設定を指定できます。デフォルト : ""受け入れ可能な値 : 上書きされたプロパティ固有の受け入れ可能な値
次の構成設定を使用して、MongoDB Kafka シンク コネクタが 変更データ キャプチャ(CDC) イベントを処理するために使用するクラスを指定します。
Debezium および Qlik Replicateイベントプロデューサー用に組み込まれている ChangeStreamHandler および ハンドラーを使用する例については、 変更データ キャプチャ ハンドラーに関するガイド をご覧ください。
変更データ キャプチャ ハンドラーに関連するオプションのみを表示するには、「変更データ キャプチャ プロパティ 」ページを参照してください。
名前
説明
change.data.Capture.handler
タイプ: string説明: 変更をイベント ストリームに変換するために使用する CDC ハンドラーのクラス名。CDC ハンドラーのリストについては、「利用可能な CDC ハンドラー 」を参照してください。デフォルト : ""受け入れる値 : 空の文字列または完全な Java クラス名
次の構成設定を使用して、MongoDB Kafka Sink Connector が MongoDB 時系列コレクションにデータをシンクする方法を指定します。
時系列コレクションに関連するオプションのみを表示するには、「 Kafka 時系列プロパティ 」ページを参照してください。
名前
説明
タイプ: string説明: 時系列コレクションの新しいドキュメントに関連付ける時間情報を含むソース データのトップレベル フィールドの名前。デフォルト : ""受け入れる値 : 空の string または BSON DateTime 値を含むフィールドの名前
timeseries.timefield.auto.convert.date.format
タイプ: string 説明: timeseries.timefield設定で指定されたフィールドに含まれるソースデータを変換するためにコネクタが使用する日付形式パターン。コネクタは日付形式パターンをJava DateTimeFormutter.OfPattern(pattern, ロケール) メソッドに渡し、 時間フィールドで日付と時刻の変換を実行します。ソース データの日付値に日付情報のみが含まれている場合、コネクタは時間情報を指定された日の開始時刻に設定します。日付値にタイムゾーン オフセットが含まれていない場合、コネクタはオフセットを UTC に設定します。デフォルト:
yyyy-MM-dd[['T'][ ]][HH:mm:ss[[.][SSSSSS][SSS]][ ]VV[ ]'['VV']'][HH:mm:ss[[.][SSSSSS][SSS]][ ]X][HH:mm:ss[[.][SSSSSS][SSS]]]
許容値 : 有効なDateTimeFormatter形式
timeseries.timefield.auto.convert
型: ブール値説明: フィールド内のデータを BSON Date 形式に変換するかどうか。true に設定すると、値が数字の場合、コネクターは UNIXエポック以降のミリ秒を使用し、小数部分を破棄します。値が string の場合、コネクターは次の構成の設定を使用して日付を解析します:
timeseries.timefield.auto.convert.date.format
コネクターが値の変換に失敗した場合、元の値が時系列コレクションに送信されます。デフォルト : false受け入れ可能な値 : true または false
timeseries.timefield.auto.convert.locale.value.map
タイプ: string 説明: DateTimeFormatter日付形式パターンで使用する ロケール言語タグ(例:"en-US" )。ロケールの詳細については、 ロケール のJava SE ドキュメントを参照してください。デフォルト:ROOT 許容値: 有効なLocale 言語タグ形式
タイプ: string説明: 関連する時系列ドキュメントのグループを説明するために、ソース データから読み取るトップレベル フィールド。重要: このフィールドは _id フィールドでも、timeseries.timefield 設定で指定したフィールドでもあってはなりません。デフォルト : ""受け入れる値 : 空の文字列または BsonArray 以外の BSON タイプを含むフィールドの名前。
timeseries.expire.After.seconds
既存のコレクションを時系列コレクションに変換する方法の例については、「 既存のコレクションを時系列コレクションに移行する 」方法に関するチュートリアルを参照してください。