使用 Amazon Kinesis Data Streams 作為目標 AWS Database Migration Service - AWS Database Migration Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon Kinesis Data Streams 作為目標 AWS Database Migration Service

您可以使用 AWS DMS 將資料遷移到 Amazon Kinesis 資料串流。Amazon Kinesis Data Streams 服務是 Amazon Kinesis Data Streams 服務的一部分。您可以使用 Kinesis 資料串流即時收集並處理大型的資料記錄串流。

Kinesis 資料串流是碎片構成。碎片是串流中資料記錄的唯一識別序列。如需 Amazon Kinesis Data Streams 中碎片的詳細資訊,請參閱《Amazon Kinesis Data Streams 開發人員指南》中的碎片

AWS Database Migration Service 使用 JSON 將記錄發佈至 Kinesis 資料串流。在轉換過程中, AWS DMS 會將來源資料庫中的每筆記錄序列化為 JSON 格式或 JSON_UNFORMATTED 訊息格式的屬性/值對。JSON_UNFORMATTED 訊息格式為含新行分隔符號的單行 JSON 字串。它可讓亞馬遜資料 Firehose 將 Kinesis 資料交付到 Amazon S3 目的地,然後使用包括亞馬 Amazon Athena 在內的各種查詢引擎進行查詢。

您要使用物件映射將資料從任何受支援的資料來源遷移到目標串流。使用物件映射,您可以決定如何建構串流中的資料記錄。您也可以定義每份資料表的分割區索引鍵,Kinesis Data Stream 會用其將資料分組為碎片。

在 Kinesis Data Streams 目標端點上 AWS DMS 建立表格時,會建立與來源資料庫端點中相同數量的表格。 AWS DMS 也會設定數個 Kinesis Data Streams 參數值。資料表的建立成本取決於要遷移的資料量和資料表數量。

注意

AWS DMS 主控台或 API 上的 SSL 模式選項不適用於某些資料串流和 NoSQL 服務,例如運動和動態支援服務。它們默認情況下是安全的,因此 AWS DMS 顯示 SSL 模式設置等於無(SSL 模式 = 無)。您無需為端點提供任何其他組態即可使用 SSL。例如,使用 Kinesis 作為目標端點時,預設情況下其是安全的。對 Kinesis 的所有 API 呼叫都使用 SSL,因此 AWS DMS 端點中不需要額外的 SSL 選項。您可以使用 HTTPS 通訊協定 ( AWS DMS 在連線到 Kinesis Data Stream 時預設使用的通訊協定),透過 SSL 端點安全地放置和擷取資料。

Kinesis Data Streams 端點設定

使用 Kinesis Data Streams 目標端點時,可以使用 AWS DMS API 中的KinesisSettings選項取得交易和控制詳細資訊。

您可透過以下任一種方式來設定連線設定:

  • 在 AWS DMS 主控台中,使用端點設定。

  • 在 CLI 中,使用命CreateEndpoint令的kinesis-settings選項。

在 CLI 中,使用 kinesis-settings 選項的以下請求參數:

注意

AWS DMS 3.4.1 版及更高版本中提供 IncludeNullAndEmpty 端點設定的支援。但對 Kinesis Data Streams 目標的其他下列端點設定的支援在中 AWS DMS提供。

  • MessageFormat – 在端點建立之記錄的輸出格式。訊息格式為 JSON (預設) 或 JSON_UNFORMATTED (不含製表符的單行)。

  • IncludeControlDetails:在 Kinesis 訊息輸出中,顯示資料表定義、欄位定義以及資料表和欄位變更的詳細控制資訊。預設值為 false

  • IncludeNullAndEmpty:包含目標中的 NULL 和空資料欄。預設值為 false

  • IncludePartitionValue:除非磁碟分割類型為 schema-table-type,否則會在 Kinesis 訊息輸出中顯示磁碟分割值。預設值為 false

  • IncludeTableAlterOperations – 包含變更控制資料中資料表的任何資料定義語言 (DDL) 操作,例如 rename-tabledrop-tableadd-columndrop-columnrename-column。預設值為 false

  • IncludeTransactionDetails – 提供來源資料庫的詳細交易資訊。此資訊包括遞交時間戳記、記錄位置,以及 transaction_idprevious_transaction_id,和 transaction_record_id (交易內的記錄位移) 的值。預設值為 false

  • PartitionIncludeSchemaTable – 當磁碟分割類型為 primary-key-type 時,將結構描述和資料表名稱作為磁碟分割值的前綴。這樣做會增加 Kinesis 碎片之間的資料分佈。例如,假設 SysBench 結構描述有數千個資料表,而每個資料表的主索引鍵只有有限的範圍。在這種情況下,相同的主索引鍵會從數千個資料表發送到相同的碎片,而這將導致調節。預設值為 false

下列範例顯示使用中的 kinesis-settings 選項與使用 AWS CLI 發出的範例 create-endpoint 命令。

aws dms create-endpoint --endpoint-identifier=$target_name --engine-name kinesis --endpoint-type target --region us-east-1 --kinesis-settings ServiceAccessRoleArn=arn:aws:iam::333333333333:role/dms-kinesis-role, StreamArn=arn:aws:kinesis:us-east-1:333333333333:stream/dms-kinesis-target-doc,MessageFormat=json-unformatted, IncludeControlDetails=true,IncludeTransactionDetails=true,IncludePartitionValue=true,PartitionIncludeSchemaTable=true, IncludeTableAlterOperations=true
多執行緒完全載入任務設定

為了協助提高傳輸速度, AWS DMS 支援 Kinesis Data Streams 目標執行個體的多執行緒完整負載。DMS 使用包括下列項目的任務設定來支援此多執行緒操作:

  • MaxFullLoadSubTasks:使用此選項,指出要平行載入的來源資料表數目上限。DMS 會使用專用子任務,將每個資料表載入到其對應的 Kinesis 目標資料表。預設值為 8;最大值為 49。

  • ParallelLoadThreads— 使用此選項可指定 AWS DMS 用來將每個表格載入其 Kinesis 目標資料表的執行緒數目。Kinesis Data Streams 目標的最大值為 32。您可以要求提高此上限。

  • ParallelLoadBufferSize:使用此選項,指定要在平行載入執行緒用來將資料載入至 Kinesis 目標的緩衝區中儲存的記錄數量上限。預設值為 50。最大值為 1000。使用此設定搭配 ParallelLoadThreadsParallelLoadBufferSize,只有在有多個執行緒時才有效。

  • ParallelLoadQueuesPerThread:使用此選項指定每個並行執行緒存取的佇列數目,以便將資料記錄從佇列中取出,並為目標產生批次載入。預設為 1。但是,對於各種承載大小的 Kinesis 目標,有效範圍為每個執行緒 5–512 個佇列。

多執行緒 CDC 載入任務設定

您可以使用任務設定,提升 Kinesis 等即時資料串流目標端點的變更資料擷取 (CDC) 效能,從而修改 PutRecords API 呼叫行為。若要執行此操作,您可以指定並行執行緒數目、每個執行緒的佇列數,以及使用 ParallelApply* 任務設定儲存在緩衝區中的記錄數目。例如,假設您要執行 CDC 載入並平行套用 128 個執行緒。您也想要每個執行緒存取 64 個佇列,且每個緩衝區儲存 50 筆記錄。

若要提升 CDC 效能,請 AWS DMS 支援下列工作設定:

  • ParallelApplyThreads— 指定 CDC 載入期間 AWS DMS 用來將資料記錄推送至 Kinesis 目標端點的並行執行緒數目。預設值為零 (0),最大值為 32。

  • ParallelApplyBufferSize:指定每個緩衝區佇列中儲存的最大記錄數目,以便並行執行緒在 CDC 載入期間推送至 Kinesis 目標端點。預設值為 100,最大值為 1,000。ParallelApplyThreads 指定多個執行緒時,請使用此選項。

  • ParallelApplyQueuesPerThread:指定每個執行緒存取的佇列數目,以便從佇列中取出資料記錄,並在 CDC 期間產生 Kinesis 端點的批次載入。預設值為 1,最大值為 512。

在使用 ParallelApply* 任務設定時,partition-key-type 預設是資料表的 primary-key,而非 schema-name.table-name

使用前映像檢視作為目標之 Kinesis 資料串流的 CDC 列原始值

將 CDC 更新寫入至 Kinesis 等資料串流目標時,您可以在更新進行變更前,檢視來源資料庫列的原始值。為了實現這一點,請根據來源資料庫引擎提供的資料, AWS DMS 填入更新事件之前的影像

不同的來源資料庫引擎可提供不同的前映像資訊量:

  • Oracle 僅提供欄更新 (如果有變更的話)。

  • PostgreSQL 僅提供屬於主索引鍵一部分的欄的資料 (無論是否有變更)。若要提供所有資料欄的資料 (無論是否已變更),您需要將 REPLICA_IDENTITY 設為 FULL (而非 DEFAULT)。請注意,您應該仔細選擇每個資料表的 REPLICA_IDENTITY 設定。如果將 REPLICA_IDENTITY 設為 FULL,所有的資料欄值都會連續寫入預寫記錄 (WAL)。這可能會對經常更新的資料表造成效能或資源問題。

  • MySQL 一般會提供所有欄的資料,但 BLOB 和 CLOB 資料類型除外 (無論是否有變更)。

若要啟用前映像功能以從來源資料庫將原始值新增至 AWS DMS 輸出,請使用 BeforeImageSettings 任務設定或 add-before-image-columns 參數。此參數會套用欄轉換規則。

BeforeImageSettings 會使用從來源資料庫系統收集到的值,將新的 JSON 屬性新增至所有更新操作,如下所示。

"BeforeImageSettings": { "EnableBeforeImage": boolean, "FieldName": string, "ColumnFilter": pk-only (default) / non-lob / all (but only one) }
注意

僅適用BeforeImageSettings於包含 CDC 元件的 AWS DMS 工作,例如滿載加上 CDC 工作 (移轉現有資料並複寫進行中的變更),或僅適用於 CDC 工作 (僅複寫資料變更)。請勿將 BeforeImageSettings 套用至僅限完全載入的任務。

針對 BeforeImageSettings 選項,適用的設定如下:

  • EnableBeforeImage 選項設為 true 以啟用前映像功能。預設值為 false

  • 使用 FieldName 選項,將名稱指派給新的 JSON 屬性。若 EnableBeforeImagetrueFieldName 則為必填,且不能留白。

  • ColumnFilter 選項會使用前映像來指定要新增的欄。若只要新增屬於資料表主索引鍵一部分的欄,請使用預設值 pk-only。若要新增任何具有前映像值的欄,請使用 all。請注意,前映像不包含具有 LOB 資料類型的資料欄,例如 CLOB 或 BLOB。

    "BeforeImageSettings": { "EnableBeforeImage": true, "FieldName": "before-image", "ColumnFilter": "pk-only" }
注意

Amazon S3 目標不支援 BeforeImageSettings。針對 S3 目標,請僅使用 add-before-image-columns 轉換規則,以在 CDC 期間執行前映像功能。

使用前映像轉換規則

您可使用 add-before-image-columns 參數做為任務設定的替代方式,它會套用欄轉換規則。透過此參數,您可以在 Kinesis 等資料串流目標上,在 CDC 期間啟用前映像功能。

只要在轉換規則中使用 add-before-image-columns,即可套用前映像結果的更精細的控制。轉換規則可讓您使用物件定位器,以便掌控針對規則選取的資料表。此外,您可以將轉換規則鏈結在一起,讓不同的規則套用至不同的資料表。接著,您可以使用其他規則來操控產生的欄。

注意

請勿在同一個任務內將 add-before-image-columns 參數與 BeforeImageSettings 任務設定一起搭配使用。請改為將參數或設定 (擇一使用,而非兩者同時使用) 用於單一任務。

具有欄的 add-before-image-columns 參數的 transformation 規則類型必須提供 before-image-def 區段。下列顯示一個範例。

{ "rule-type": "transformation", … "rule-target": "column", "rule-action": "add-before-image-columns", "before-image-def":{ "column-filter": one-of (pk-only / non-lob / all), "column-prefix": string, "column-suffix": string, } }

column-prefix 的值會附加至欄名稱前,而column-prefix 的預設值為 BI_column-suffix 的值會附加至欄名稱,而預設值為空白。請勿將 column-prefixcolumn-suffix 同時設為空白字串。

column-filter 選擇一個值。若只要新增屬於資料表主索引鍵一部分的欄,請選擇 pk-only。選擇 non-lob 以僅新增不屬於 LOB 類型的欄。或者,選擇 all 以新增任何具有前映像值的欄。

前映像轉換規則範例

下列範例中的轉換規則會在目標中新增名為 BI_emp_no 的欄。因此,UPDATE employees SET emp_no = 3 WHERE emp_no = 1; 等陳述式會以 1 填入 BI_emp_no 欄位。當您將 CDC 更新寫入至 Amazon S3 目標時,BI_emp_no 資料欄會讓它能夠分辨哪個原始列已更新。

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "%", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "transformation", "rule-id": "2", "rule-name": "2", "rule-target": "column", "object-locator": { "schema-name": "%", "table-name": "employees" }, "rule-action": "add-before-image-columns", "before-image-def": { "column-prefix": "BI_", "column-suffix": "", "column-filter": "pk-only" } } ] }

如需使用 add-before-image-columns 規則動作的相關資訊,請參閱 轉換規則與動作

使用 Kinesis 資料串流作為目標的先決條件 AWS Database Migration Service

使用 Kinesis 資料串流作為目標的 IAM 角色 AWS Database Migration Service

在將 Kinesis 資料串流設定為目標之前 AWS DMS,請確定您已建立 IAM 角色。此角色必須 AWS DMS 允許假設並授與要移轉到的 Kinesis 資料串流的存取權。以下 IAM 政策顯示最低的存取許可集。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

遷移到 Kinesis 資料串流所用的角色必須擁有下列許可。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "arn:aws:kinesis:region:accountID:stream/streamName" } ] }

存取 Kinesis 資料串流做為目標 AWS Database Migration Service

在 AWS DMS 版本 3.4.7 及更高版本中,若要連線到 Kinesis 端點,您必須執行下列其中一項作業:

使用 Kinesis Data Streams 作為目標時的限制 AWS Database Migration Service

使用 Kinesis Data Streams 作為目標時,有下列限制:

  • AWS DMS 無論交易為何,都會將每個更新發佈至來源資料庫中的單一記錄,做為指定 Kinesis 資料串流中的一個資料記錄。不過,您可以使用 KinesisSettings API 的相關參數來包含每個資料記錄的交易詳細資訊。

  • 不支援完全的 LOB 模式。

  • 支援的 LOB 大小上限是 1 MB。

  • Kinesis Data Streams 不支援刪除重複資料。取用串流資料的應用程式需要處理重複的記錄。如需的詳細資訊,請參閱《Amazon Kinesis Data Streams 開發人員指南》中的處理重複的記錄

  • AWS DMS 分割區索引鍵支援下列兩種形式:

    • SchemaName.TableName:結構描述和資料表名稱的組合。

    • ${AttributeName}:JSON 其中一個欄位的值,或來源資料庫資料表的主索引鍵。

  • 如需在 Kinesis Data Streams 中加密靜態資料的相關資訊,請參閱《AWS Key Management Service 開發人員指南》中的 Kinesis Data Streams 中的資料保護

  • Kinesis 端點不支援 BatchApply。針對 Kinesis 目標使用批次套用 (例如,BatchApplyEnabled 目標中繼資料任務設定) 可能會導致資料遺失。

  • Kinesis 目標僅支援同一 AWS 帳戶中的 Kinesis 資料串流,且與複寫執行個體 AWS 區域 相同。

  • 從 MySQL 來源移轉時, BeforeImage 資料不包含 CLOB 和 BLOB 資料類型。如需詳細資訊,請參閱 使用前映像檢視作為目標之 Kinesis 資料串流的 CDC 列原始值

  • AWS DMS 不支援移轉超過 16 位數的BigInt資料類型值。若要解決此限制,您可以使用下列轉換規則將 BigInt 資料欄轉換為字串。如需轉換規則的詳細資訊,請參閱 轉換規則與動作

    { "rule-type": "transformation", "rule-id": "id", "rule-name": "name", "rule-target": "column", "object-locator": { "schema-name": "valid object-mapping rule action", "table-name": "", "column-name": "" }, "rule-action": "change-data-type", "data-type": { "type": "string", "length": 20 } }

使用物件映射將資料遷移到 Kinesis 資料串流

AWS DMS 使用表格對映規則將來源中的資料對應至目標 Kinesis 資料串流。若要將資料映射到目標串流,您要使用一種稱為物件映射的資料表映射規則。您使用物件映射定義如何將來源資料記錄映射到發佈在 Kinesis 資料串流的資料記錄。

除了擁有分割區索引鍵外,Kinesis 資料串流沒有預設結構。在物件映射規則中,資料記錄 partition-key-type 的可能值為 schema-tabletransaction-idprimary-keyconstantattribute-name

若要建立物件映射規則,請將 rule-type 指定為 object-mapping。此規則指定您想要使用的物件映射類型。

規則的結構如下。

{ "rules": [ { "rule-type": "object-mapping", "rule-id": "id", "rule-name": "name", "rule-action": "valid object-mapping rule action", "object-locator": { "schema-name": "case-sensitive schema name", "table-name": "" } } ] }

AWS DMS 目前支援map-record-to-recordmap-record-to-document作為參數的唯一有效rule-action值。這些設定會影響 exclude-columns 屬性清單中未排除的值。map-record-to-recordmap-record-to-document值指定依預設 AWS DMS 處理這些記錄的方式。這些值反正不會影響屬性映射。

從關聯式資料庫遷移到 Kinesis 資料串流時,請使用 map-record-to-record。此規則類型使用關聯式資料庫的 taskResourceId.schemaName.tableName 值作為 Kinesis 資料串流的分割區索引鍵,並為來源資料庫中的每一資料行建立一個屬性。

使用 map-record-to-record 時,請注意下列事項:

  • 此設定只會影響 exclude-columns 清單中排除的欄。

  • 對於每個此類列,在目標主題中 AWS DMS 創建一個相應的屬性。

  • AWS DMS 不論是否在屬性對映中使用來源資料行,都會建立此對應屬性。

使用 map-record-to-document 將來源資料欄放入使用屬性名稱「_doc」的適當目標串流中的單一固定文件。 AWS DMS 將資料放置在名為 "_doc" 之來源上的單一固定對應中。此放置適用於來源資料表中未列在 exclude-columns 屬性清單的任何欄。

了解 map-record-to-record 的一種方法是查看它運作時的狀態。在本範例中,假設您開始使用之關聯式資料庫資料表資料列的結構和資料如下。

FirstName LastName StoreId HomeAddress HomePhone WorkAddress WorkPhone DateofBirth

Randy

Marsh

5

221B Baker Street

1234567890

31 Spooner Street, Quahog

9876543210

1988/02/29

若要將此資訊從名為 Test 的結構描述遷移到 Kinesis 資料串流,您要建立規則,以將資料映射到目標串流。以下規則說明映射。

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "rule-action": "include", "object-locator": { "schema-name": "Test", "table-name": "%" } }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "DefaultMapToKinesis", "rule-action": "map-record-to-record", "object-locator": { "schema-name": "Test", "table-name": "Customers" } } ] }

以下說明在 Kinesis 資料串流中產生的記錄格式:

  • StreamName: XXX

  • PartitionKey:測試。客戶 //Schmaname.表名稱

  • Data://以下 JSON 訊息

    { "FirstName": "Randy", "LastName": "Marsh", "StoreId": "5", "HomeAddress": "221B Baker Street", "HomePhone": "1234567890", "WorkAddress": "31 Spooner Street, Quahog", "WorkPhone": "9876543210", "DateOfBirth": "02/29/1988" }

但是,假設您使用相同的規則,但將 rule-action 參數變更為 map-record-to-document 並排除某些資料欄。以下規則說明映射。

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "rule-action": "include", "object-locator": { "schema-name": "Test", "table-name": "%" } }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "DefaultMapToKinesis", "rule-action": "map-record-to-document", "object-locator": { "schema-name": "Test", "table-name": "Customers" }, "mapping-parameters": { "exclude-columns": [ "homeaddress", "homephone", "workaddress", "workphone" ] } } ] }

在本例中,未列在 exclude-columns 參數 FirstNameLastNameStoreIdDateOfBirth 中的資料欄會對應到 _doc。以下說明產生的記錄格式。

{ "data":{ "_doc":{ "FirstName": "Randy", "LastName": "Marsh", "StoreId": "5", "DateOfBirth": "02/29/1988" } } }

使用屬性映射重組資料

您可以在使用屬性映射將資料遷移到 Kinesis 資料串流的同時,重組資料。例如,您可能想要將來源的幾個欄位合併為目標的單一欄位。以下屬性映射說明如何重組資料。

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "rule-action": "include", "object-locator": { "schema-name": "Test", "table-name": "%" } }, { "rule-type": "object-mapping", "rule-id": "2", "rule-name": "TransformToKinesis", "rule-action": "map-record-to-record", "target-table-name": "CustomerData", "object-locator": { "schema-name": "Test", "table-name": "Customers" }, "mapping-parameters": { "partition-key-type": "attribute-name", "partition-key-name": "CustomerName", "exclude-columns": [ "firstname", "lastname", "homeaddress", "homephone", "workaddress", "workphone" ], "attribute-mappings": [ { "target-attribute-name": "CustomerName", "attribute-type": "scalar", "attribute-sub-type": "string", "value": "${lastname}, ${firstname}" }, { "target-attribute-name": "ContactDetails", "attribute-type": "document", "attribute-sub-type": "json", "value": { "Home": { "Address": "${homeaddress}", "Phone": "${homephone}" }, "Work": { "Address": "${workaddress}", "Phone": "${workphone}" } } } ] } } ] }

若要設定 partition-key 的常數值,請指定一個 partition-key 值。例如,您可以執行此操作,將所有資料強制儲存在單一碎片中。以下映射說明此方法。

{ "rules": [ { "rule-type": "selection", "rule-id": "1", "rule-name": "1", "object-locator": { "schema-name": "Test", "table-name": "%" }, "rule-action": "include" }, { "rule-type": "object-mapping", "rule-id": "1", "rule-name": "TransformToKinesis", "rule-action": "map-record-to-document", "object-locator": { "schema-name": "Test", "table-name": "Customer" }, "mapping-parameters": { "partition-key": { "value": "ConstantPartitionKey" }, "exclude-columns": [ "FirstName", "LastName", "HomeAddress", "HomePhone", "WorkAddress", "WorkPhone" ], "attribute-mappings": [ { "attribute-name": "CustomerName", "value": "${FirstName},${LastName}" }, { "attribute-name": "ContactDetails", "value": { "Home": { "Address": "${HomeAddress}", "Phone": "${HomePhone}" }, "Work": { "Address": "${WorkAddress}", "Phone": "${WorkPhone}" } } }, { "attribute-name": "DateOfBirth", "value": "${DateOfBirth}" } ] } } ] }
注意

用於特定資料表的控制記錄 partition-key 值是 TaskId.SchemaName.TableName。用於特定任務的控制記錄 partition-key 值是該記錄的 TaskId。在物件映射中指定 partition-key 值對控制記錄的 partition-key 沒有影響。

Kinesis Data Streams 的訊息格式

JSON 輸出僅是索引鍵/值對的清單。JSON_UNFORMATTED 訊息格式為含新行分隔符號的單行 JSON 字串。

AWS DMS 提供下列保留欄位,以便更輕鬆地使用 Kinesis 資料串流中的資料:

RecordType

記錄類型可以是資料或控制。資料記錄代表來源的實際資料列。控制記錄用於串流的重要事件,例如重新啟動任務。

操作

針對資料記錄,操作可以是 loadinsertupdatedelete

針對控制記錄,操作可以是 create-tablerename-tabledrop-tablechange-columnsadd-columndrop-columnrename-columncolumn-type-change

SchemaName

記錄的來源結構描述。控制記錄的此欄位可以為空。

TableName

記錄的來源資料表。控制記錄的此欄位可以為空。

時間戳記

JSON 訊息建構時間的時間戳記。此欄位格式為 ISO 8601 格式。