

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

# 前映像任務設定
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.BeforeImage"></a>

將 CDC 更新寫入至 Kinesis 或 Apache Kafka 等資料串流目標時，您可以在更新進行變更前，檢視來源資料庫列的原始值。為了實現這一點， 會根據來源資料庫引擎提供的資料， AWS DMS 填入更新事件*之前的映像*。如需使用任務組態檔案來設定任務設定的相關資訊，請參閱：[任務設定範例](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)。

若要這麼做，您需要 `BeforeImageSettings` 參數將新的 JSON 屬性新增至所有更新操作，其中包含從來源資料庫系統收集到的值。

請確保 `BeforeImageSettings` 只套用於完全載入加上 CDC 任務或僅限 CDC 任務。完全載入加上 CDC 任務會遷移現有資料並複寫持續變更。僅限 CDC 任務只會複寫資料變更。

請勿將 `BeforeImageSettings` 套用至僅限完全載入的任務。

`BeforeImageSettings` 的可能選項如下：
+ `EnableBeforeImage` – 設定為 `true` 時，將在建立映像前開啟。預設值為 `false`。
+ `FieldName` – 將名稱指派給新的 JSON 屬性。若 `EnableBeforeImage` 為 `true`，`FieldName` 則為必填，且不能留白。
+ `ColumnFilter` – 使用前映像來指定要新增的欄。若只要新增屬於資料表主索引鍵一部分的欄，請使用預設值 `pk-only`。若要新增任何具有前映像值的欄，請使用 `all`。請注意，前映像不支援大型二進位物件 (LOB) 資料類型，例如 CLOB 和 BLOB。

下列顯示 `BeforeImageSettings` 的使用方式範例。

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

如需 Kinesis 的前映像設定 (包括其他資料表映射設定) 的相關資訊，請參閱：[使用前映像檢視作為目標之 Kinesis 資料串流的 CDC 列原始值](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.BeforeImage)。

如需 Kafka 的前映像設定 (包括其他資料表映射設定) 的相關資訊，請參閱 [使用前映像檢視做為目標之 Apache Kafka 的 CDC 列原始值](CHAP_Target.Kafka.md#CHAP_Target.Kafka.BeforeImage)。