12.6.7. 送信トレイイベントルーター変換設定用のオプション

次の表で、送信トレイイベントルーター SMT に指定することのできるオプションを説明します。表の グループ 列は、Kafka の設定オプションクラスを示しています。

表12.7 送信トレイイベントルーター SMT 設定オプションの説明

オプションデフォルトグループ説明

table.field.event.id

id

一意のイベント ID が含まれる送信トレイテーブル列を指定します。

table.field.event.key

aggregateid

イベントキーが含まれる送信トレイテーブル列を指定します。この列に値が含まれる場合、SMT はその値を出力される送信トレイメッセージのキーとして使用します。これは、Kafka パーティションで正しい順序を維持するのに重要です。

table.field.event.timestamp

 

デフォルトでは、出力される送信トレイメッセージのタイムスタンプは、Debezium イベントのタイムスタンプです。送信トレイメッセージで別のタイムスタンプを使用するには、このオプションを出力される送信トレイメッセージに使用するタイムスタンプが含まれる送信トレイテーブル列に設定します。

table.field.event.payload

payload

イベントペイロードが含まれる送信トレイテーブル列を指定します。

table.field.event.payload.id

aggregateid

ペイロード ID が含まれる送信トレイテーブル列を指定します。

table.fields.additional.placement

 

テーブル、エンベロープ

送信トレイメッセージのヘッダーまたはエンベロープに追加する 1 つまたは複数の送信トレイテーブル列を指定します。ペアのコンマ区切りリストを指定します。それぞれのペアで、列の名前および値をヘッダーとエンベロープのどちらに含めるかを指定します。ペア内の値はコロンで区切ります。以下に例を示します。

id:header,my-field:envelope

列のエイリアスを指定するには、3 番目の値としてエイリアスが含まれるトリオを指定します。以下に例を示します。

id:header,my-field:envelope:my-alias

2 つ目の値は配置で、常に ヘッダーまたは エンベロープ である必要があります。

設定例は、「 Debezium 送信トレイメッセージへの追加フィールドの 出力」を参照してください。

table.field.event.schema.version

 

テーブル、スキーマ

このオプションを設定すると、Kafka Connect スキーマ Javadoc で説明されているように、その値がスキーマバージョンとして使用されます。

route.by.field

aggregatetype

ルーター

送信トレイテーブルの列の名前を指定します。デフォルトの動作では、この列の値が、コネクターが送信トレイメッセージを出力するトピックの名前の一部になります。例は、要求さ れる送信トレイテーブルの説明 にあります。

route.topic.regex

(?<routedByValue>.*)

ルーター

送信トレイ SMT が RegexRouter で送信トレイテーブルレコードに適用する正規表現を指定します。この正規表現は、route.topic.replacement SMT オプションの設定の一部です。

デフォルトの動作では、SMT は route.topic.replacement SMT オプションの設定でデフォルトの ${routedByValue} 変数を、 route.by.field 送信トレイ SMT オプションの設定に置き換えます。

route.topic.replacement

outbox.event​.${routedByValue}

ルーター

コネクターが送信トレイメッセージを出力するトピックの名前を指定します。デフォルトのトピック名は outbox .event です。 その後に、送信トレイテーブルレコードの aggregatetype 列の値が含まれます。たとえば、aggregatetype の値が 顧客 の場合には、トピック名は outbox.event.customers になります。

トピック名を変更するには、次の操作を行います。

  • route.by.field オプションを異なる列に設定します。
  • route.topic.regex オプションを、別の正規表現に設定します。

route.tombstone.on.empty.payload

false

ルーター

空または null ペイロードによってコネクターが廃棄(tombstone)イベントを出力するかどうかを示します。

debezium.op.invalid.behavior

warn

Debezium

送信トレイテーブルに UPDATE 操作がある場合の SMT の動作を決定します。設定可能な値は以下のとおりです。

  • warn: SMT はログに警告を記録し、次の送信トレイテーブルレコードに進みます。
  • error: SMT はログにエラーを記録し、次の送信トレイテーブルレコードに進みます。
  • fatal: SMT はエラーをログに記録し、コネクターは処理を停止します。

送信トレイテーブルのすべての変更は、INSERT 操作であると想定されます。つまり、送信トレイテーブルはキューとして機能し、送信トレイテーブルのレコードに対する更新は許可されません。SMT は、送信トレイテーブルで DELETE 操作を自動的にフィルターします。

改訂日時: 2022-07-30 09:07:42 +1000