

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

# 時間歷程任務設定
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel"></a>

若要記錄和偵錯複寫任務，您可以使用 AWS DMS 時間歷程。您可以透過這種方法，使用 Amazon S3 儲存日誌並使用加密金鑰加密日誌。只有具備時間歷程 S3 儲存貯體的存取權，您才能使用日期時間篩選條件擷取 S3 日誌，然後視需要檢視、下載和混淆日誌。您可以透過這樣做，安全地「回到過去的時間」來調查資料庫活動。時間歷程與 CloudWatch 日誌記錄獨立運作。如需 CloudWatch 日誌記錄的詳細資訊，請參閱：[記錄任務設定](CHAP_Tasks.CustomizingTasks.TaskSettings.Logging.md)。

您可以在所有支援 AWS DMS Oracle、Microsoft SQL Server 和 PostgreSQL 來源端點，以及 AWS DMS支援 PostgreSQL 和 MySQL 目標端點 AWS 的區域中使用時間歷程。您只能針對完全載入和變更資料擷取 (CDC) 任務，以及僅限 CDC 的任務開啟「時間歷程」。若要開啟「時間歷程」或修改任何現有的「時間歷程」設定，請確保複寫任務已停止。

「時間歷程」設定包括下列 `TTSettings` 屬性：
+ `EnableTT` – 如果此選項設定為 `true`，則會為任務開啟「時間歷程」記錄。預設值為 `false`。

  類型：布林值

  必要：否
+ `EncryptionMode` – S3 儲存貯體上用來儲存資料和日誌的伺服器端加密類型。您可以指定為 `"SSE_S3"` (預設) 或 `"SSE_KMS"`。

  您可以將 `EncryptionMode` 從 `"SSE_KMS"` 變更為 `"SSE_S3"`，但不能反向變更。

  類型：字串

  必要：否
+ `ServerSideEncryptionKmsKeyId` – 如果您`"SSE_KMS"`為 指定 `EncryptionMode`，請提供自訂受管 AWS KMS 金鑰的 ID。請確定您使用的金鑰具有連接政策，該政策會開啟 AWS Identity and Access Management (IAM) 使用者許可，並允許使用金鑰。

  `"SSE_KMS"` 選項僅支援您自己的自訂受管對稱 KMS 金鑰。

  類型：字串

  必要：僅限您將 `EncryptionMode` 設定為 `"SSE_KMS"` 時
+ `ServiceAccessRoleArn` – 服務存取 IAM 角色所使用的 Amazon Resource Name (ARN)。將角色名稱設定為 `dms-tt-s3-access-role`。這是允許 從 S3 AWS DMS 儲存貯體寫入和讀取物件的必要設定。

  類型：字串

  必填：如果「時間歷程」已開啟

  以下為此角色的範例政策。

------
#### [ JSON ]

****  

  ```
  {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
          {
              "Sid": "VisualEditor0",
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject",
                  "kms:GenerateDataKey",
                  "kms:Decrypt",
                  "s3:ListBucket",
                  "s3:DeleteObject"
              ],
              "Resource": [
                  "arn:aws:s3:::S3bucketName*",
                  "arn:aws:kms:us-east-1:112233445566:key/1234a1a1-1m2m-1z2z-d1d2-12dmstt1234"
              ]
          }
      ]
  }
  ```

------

  以下為此角色的範例信任政策。

------
#### [ JSON ]

****  

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

------
+ `BucketName` – 用來儲存時間歷程日誌的 S3 儲存貯體名稱。在開啟「時間歷程」日誌之前，請務必先建立此 S3 儲存貯體。

  類型：字串

  必填：如果「時間歷程」已開啟
+ `BucketFolder` – 選用參數，用於設定 S3 儲存貯體中的資料夾名稱。如果您指定此參數，DMS 會在路徑 `"/{{BucketName}}/{{BucketFolder}}/{{taskARN}}/{{YYYY}}/{{MM}}/{{DD}}/{{hh}}"` 中建立時間歷程記錄。如果您未指定此參數， 會將預設路徑 AWS DMS 建立為 `"/{{BucketName}}/dms-time-travel-logs/{{taskARN}}/{{YYYY}}/{{MM}}/{{DD}}/{{hh}}`。

  類型：字串

  必要：否
+ `EnableDeletingFromS3OnTaskDelete` – 當此選項設定為 時`true`，如果任務已刪除， 會從 S3 AWS DMS 刪除時間歷程日誌。預設值為 `false`。

  類型：字串

  必要：否
+ `EnableRawData` – 將此選項設定為 `true` 時，時間歷程日誌的資料處理語言 (DML) 原始資料會顯示在時間歷程記錄的 `raw_data` 資料欄下。如需詳細資訊，請參閱：[使用時間歷程日誌](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)。預設值為 `false`。當此選項設定為 `false` 時，只會擷取 DML 類型。

  類型：字串

  必要：否
+ `RawDataFormat` – 在 3.5.0 版和更新 AWS DMS 版本中，當 `EnableRawData` 設定為 `true`時。此屬性指定時間歷程日誌中 DML 原始資料的格式，並可顯示為：
  + `"TEXT"` – 對於 CDC 期間擷取為 `Raw` 欄位的 DML 事件，可顯示為已剖析且可讀的資料欄名稱和值。
  + `"HEX"` – 對於 CDC 期間為 DML 事件擷取的資料欄名稱和值原始十六進位法。

  此屬性適用於 Oracle 和 Microsoft SQL Server 資料庫來源。

  類型：字串

  必要：否
+ `OperationsToLog` – 指定登入時間歷程記錄的 DML 操作類型。您可以指定下列其中一個選項：
  + `"INSERT"`
  + `"UPDATE"`
  + `"DELETE"`
  + `"COMMIT"`
  + `"ROLLBACK"`
  + `"ALL"`

  預設值為 `"ALL"`。

  類型：字串

  必要：否
+ `MaxRecordSize` – 指定每列記錄的「時間歷程」日誌記錄大小上限。使用此屬性可控制特別忙碌資料表的「時間歷程」記錄的增長。預設值為 64 KB。

  類型：整數

  必要：否

如需開啟和使用時間歷程日誌的詳細資訊，請參閱下列主題。

**Topics**
+ [開啟任務的時間歷程日誌](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.TaskEnabling.md)
+ [使用時間歷程日誌](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.LogSchema.md)
+ [將時間歷程日誌 AWS DMS 上傳至 S3 的頻率](CHAP_Tasks.CustomizingTasks.TaskSettings.TimeTravel.UploadsToS3.md)