tencent cloud

Data Transfer Service

JSONデモの説明

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-16 19:45:51
AI翻訳・品質チェック済み
DemoではJSONを使用してシリアル化を行い、各言語のDemoにはRecord定義ファイルが付属しています。 Java Demoの定義ファイルのパスは次の通りです: consumerDemo-json-java\\src\\main\\java\\json\\FlatRecord.java。

レコード内のフィールドタイプ

Record内のフィールド名
説明
id
グローバルに増加するID。
version
プロトコルバージョン、現在のバージョンは1です。
messageType
メッセージタイプ、列挙値:「INSERT」、「UPDATE」、「DELETE」、「DDL」、「BEGIN」、「COMMIT」、「HEARTBEAT」、「CHECKPOINT」。
fileName
現在のレコードが存在するbinlogファイル名。
position
現在のレコードのbinlog内での終了オフセットで、形式はEnd_log_pos@binlogファイル番号です。例えば、現在のレコードがファイルmysql-bin.000004にあり、終了オフセットが2196の場合、その値は「2196@4」です。
safePosition
現在のトランザクションがbinlog内で開始するオフセットで、形式は上記と同じです。
timestamp
binlogに書き込まれた時間、unixタイムスタンプ、秒単位。
gtid
現在のgtid、例:c7c98333-6006-11ed-bfc9-b8cef6e1a231:9。
transactionId
トランザクションID。commitイベントのみがトランザクションIDを生成します。
serverId
ソースデータベースのserverId。ソースデータベースのserver_idを確認するには、SHOW VARIABLES LIKE 'server_id'を参照してください。
threadId
現在のトランザクションをコミットしたセッションのID。SHOW processlist;を参照してください。
sourceType
ソースデータベースのデータベースタイプ。現在のバージョンではMySQLのみです。
sourceVersion
ソースデータベースのバージョン。ソースデータベースのバージョンを確認するには、 select version();を参照してください。
schemaName
データベース名。
tableName
テーブル名。
objectName
形式:データベース名.テーブル名。
columns
テーブル内の各列の定義。
oldColumns
DML実行前の該当行のデータです。insertメッセージの場合、この配列はnullです。
newColumns
DML実行後の該当行のデータです。deleteメッセージの場合、この配列はnullです。
sql
DDLのSQL文。
executionTime
DDLの実行時間。単位は秒です。
heartbeatTimestamp
ハートビートメッセージのタイムスタンプ。秒単位です。heartbeatメッセージにのみこのフィールドがあります。
syncedGtid
DTSが解析済みのGTIDセット。形式は例:c7c98333-6006-11ed-bfc9-b8cef6e1a231:1-13。
fakeGtid
これは作成された偽のGTIDかどうかを示します。gtid_modeがオフの場合、DTSはGTIDを作成します。
pkNames
ソースデータベースのテーブルにPKが設定されている場合、DMLメッセージにこのパラメータが含まれます。設定されていない場合は含まれません。
readerTimestamp
DTSがこのデータを処理した時間。unixタイムスタンプで、単位はミリ秒です。
tags
QueryEvent内のstatus_varsです。詳細はQueryEventを参照してください。
total
メッセージがシャード化されている場合、シャードの総数を記録します。現在のバージョン(version=1)では意味がなく、拡張用に予約されています。
index
メッセージがシャード化されている場合、現在のシャードのインデックスを記録します。現在のバージョン(version=1)では意味がなく、拡張用に予約されています。

レコード内のMySQL列属性

name:列名です。
dataTypeNumber:binlogに記録されるデータ型です。値の詳細はMySQLを参照してください。
isKey:PKかどうかを示します。
originalType:DDLで定義されたタイプです。

MySQLデータ型変換ロジック

JSONプロトコルでは、MySQLの型をすべて文字列に変換しています。
varcharなどの文字列型は、すべてUTF8エンコーディングに変換されます。
数値型は、すべて値と同じ文字列に変換されます。例えば「3.0」です。
時間タイプの場合、形式は次の通りです:YYYY-MM-DD HH:mm:ss.SSS。
タイムスタンプ型の場合、出力はミリ秒数です。
binary、blobなどのバイナリ型の場合、出力は16進数値と同じ文字列です。例えば「0xfff」です。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック