7.2.6. トランザクション境界を表す Debezium PostgreSQL コネクターによって生成されたイベント
Debezium は、トランザクション境界を表し、データ変更イベントメッセージをエンリッチするイベントを生成できます。
Debezium は、コネクターのデプロイ後に発生するトランザクションに対してのみメタデータを登録し、受信します。コネクターをデプロイする前に発生するトランザクションのメタデータは利用できません。
Debezium はすべてのトランザクションの BEGIN および END に対して、以下のフィールドが含まれるイベントを生成します。
-
status:BEGINまたはEND -
id- 一意のトランザクション識別子の文字列表現。 -
event_count(ENDイベントの場合) -トランザクションによって出力されたイベントの合計数。 -
data_collections(ENDイベントの場合): 指定のデータコレクションからの変更によって出力されたイベントの数を提供するdata_collectionとevent_countのペアの配列。
例
transaction.topic オプションでオーバーライドされない限り、トランザクションイベントは database.server.name.transaction という名前のトピックに書き込まれます。
変更データイベントのエンリッチメント
トランザクションメタデータを有効にすると、データメッセージ Envelope は新しい transaction フィールドでエンリッチされます。このフィールドは、複合フィールドの形式ですべてのイベントに関する情報を提供します。
-
id- 一意のトランザクション識別子の文字列表現。 -
total_order- トランザクションによって生成されたすべてのイベントを対象とするイベントの絶対位置。 -
data_collection_order- トランザクションによって出力されたすべてのイベントを対象とするイベントのデータコレクションごとの位置。
以下は、メッセージの例になります。