# 中繼資料與資料訊息

本主題說明由Kafka目標連接器產生的中繼資料和資料訊息的結構和內容。

## 中繼資料訊息

中繼資料訊息

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| schemaId | 字串 | Avro 結構描述的唯一識別碼。 |
| 譜系 | 結構 | 關於資料來源的資訊 (Qlik Talend Data Integration 伺服器、任務、表格等) |
| 伺服器 | 字串 | Qlik Talend Data Integration 伺服器的名稱。 |
| 任務 | 字串 | 任務的名稱。 |
| 架構 (架構名稱) | 字串 | 資料庫架構的名稱。 |
| 表格 (表格名稱) | 字串 | 表格的名稱。 |
| tableVersion | 整數 | Qlik Talend Data Integration 維護來源表格結構的版本號碼。當來源端發生 DDL 變更時，版本會增加並產生新的中繼資料訊息。 |
| 時間戳記 | 字串 | 中繼資料訊息的日期和時間。 |
| tableStructure | 結構 | 描述資料表的結構。 |
| tableColumns | 結構 | 包含欄清單及其屬性。 |
| {欄} | 結構 | 針對每個欄，一個具有以下屬性的記錄。 |
| 順序 | 整數 | 記錄中欄的位置。 |
| 類型 | 字串 | 欄資料類型。 |
| 長度 | 整數 | 欄許可的資料大小上限 (位元組)。 |
| 精確度 | 整數 | 針對 NUMERIC 資料類型，表示值所需的最大位數。 |
| 刻度 | 整數 | 對於 NUMERIC 資料類型，對數字的小數點右側許可的位數上限。 |
| primaryKeyPosition | 整數 | 表格的主要金鑰或唯一索引中的欄位置。若欄不屬於表格的主要金鑰，值是零。 |
| dataSchema | 字串 | 用於還原序列化資料訊息的 Avro 結構描述。 |

## 資料訊息

資料訊息

| 欄位 | 類型 | 描述 |
| --- | --- | --- |
| 架構 (名稱) | 字串 | 包含複寫來源表格的來源資料庫架構名稱。 |
| 表格 (名稱) | 字串 | 來源表格的名稱。 |
| 標頭 | 結構 | 有關目前記錄的資訊。 |
| 操作 (Operation) | 列舉 | 操作類型。<br><br>完整載入 - 將來源資料初始載入至目標主題(s)<br><br>重新整理 – 在完整載入期間將記錄插入目標<br><br>CDC - 將來源資料表變更套用至相關主題<br><br>插入 – 插入新的目標記錄<br><br>更新 – 更新現有的目標記錄<br><br>刪除 – 刪除目標記錄 |
| 變更序列 (變更序列) | 字串 | 一律增加對所有任務變更表格通用的變更排序器。<br><br>使用此欄位依時間順序排序記錄。<br><br>僅適用於 CDC 作業。 |
| 時間戳記 (時間戳記) | 字串 | 原始變更 UTC 時間戳記。<br><br>僅適用於 CDC 作業。 |
| 串流位置 | 字串 | 來源 CDC 串流位置。<br><br>僅適用於 CDC 作業。 |
| 交易 ID (交易 ID) | 字串 | 變更記錄所屬的交易 ID。<br><br>使用此欄位以收集特定交易的所有變更。<br><br>僅適用於 CDC 作業。 |
| changeMask (變更遮罩) | 字串 | 指示來源表格中哪些資料欄已變更。<br><br>變更遮罩是十六進位數字字串，代表小端序資料欄的位元遮罩。變更遮罩中的位元位置是根據該表格中繼資料訊息中的欄序數。<br><br>這表示，若有 10 個資料欄，這會占用位元 0 至 9，在位元遮罩中。<br><br>如果 UPDATE 遮罩是 0B 十六進位 (即二進位的 1011)，這表示序數為 1、2 和 4 的欄已變更。<br><br>以下描述位元語意：<br><br><ul> <li>對於 INSERT (插入) 記錄，所有插入的欄有關聯的位元集合。</li> <li>對於 DELETE (刪除) 記錄，只有主要金鑰 (或獨特索引) 欄有關聯的位元集合。這允許套用者建構 DELETE 陳述式，不必從另一個來源尋找主要金鑰欄位。</li> <li>對於 UPDATE (更新) 記錄，每個值已變更的欄將有關聯的位元集合。</li> </ul><br><br>資訊備註<br><br>LOB 欄不包含在 changeMask 位元中。 |
| 欄位遮罩 (欄位遮罩) | 字串 | 指示訊息中存在哪些資料欄位。通常，這將包含所有資料表欄位。<br><br>資訊備註<br><br>當 移動 來自沒有完整補充日誌記錄的 Oracle 來源時，某些欄位可能不存在於資料中，因為它們無法 已移動。<br><br>欄位遮罩是一個十六進位數字字串，代表以小端序排列的資料欄位位元遮罩。欄位遮罩中的位元位置是根據該表格的中繼資料訊息中欄位的序數。<br><br>這可讓套用程式區分作為欄位*實際*值的 null 值，以及代表無法從來源資料庫已移動的欄位的 null 值。 |
| 外部結構描述ID | 字串 | 結構描述 ID。這只會在選取包含外部結構描述 ID標頭核取方塊時顯示。<br><br>由於每當在來源資料表上執行 DDL 時，結構描述 ID 就會變更，因此消費者應用程式可以使用此資訊來判斷訊息結構描述是否已變更。 |
| transactionEventCounter (交易事件計數器) | 長 | 交易中目前操作的序號。<br><br>這可用於判斷交易中的操作順序。 |
| transactionLastEvent (交易最後事件) | 布林值 | 「True」表示這是交易中的最終記錄，而「False」表示並非所有記錄都已處理。 |
| 資料 | 結構 | 表格記錄的資料 |
| {欄} |  | 目前記錄中的欄位名稱和值。 |
| 之前的資料 | 結構 | 表格記錄的資料，變更前 |
| {欄} |  | 欄名稱和值，變更前。<br><br>適用於 UPDATE 作業。 |