本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
您可以使用前面描述的任务设置为 AWS DMS 任务启用 Time Travel。在启用 Time Travel 之前,请确保您的复制任务已停止。
要打开 “时空旅行”,请使用 AWS CLI
-
创建DMS任务配置JSON文件并添加如下所示的
TTSettings
部分。有关如何使用任务配置文件来设置任务设置的信息,请参阅任务设置示例。. . . }, "TTSettings" : { "EnableTT" : true, "TTS3Settings": { "EncryptionMode": "SSE_KMS", "ServerSideEncryptionKmsKeyId": "arn:aws:kms:us-west-2:112233445566:key/myKMSKey", "ServiceAccessRoleArn": "arn:aws:iam::112233445566:role/dms-tt-s3-access-role", "BucketName": "myttbucket", "BucketFolder": "myttfolder", "EnableDeletingFromS3OnTaskDelete": false }, "TTRecordSettings": { "EnableRawData" : true, "OperationsToLog": "DELETE,UPDATE", "MaxRecordSize": 64 }, . . .
-
在相应的任务操作中,使用
--replication-task-settings
选项指定此JSON文件。例如,下面的CLI代码片段将此 Time Travel 设置文件指定为的一部分create-replication-task
。aws dms create-replication-task --target-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:ELS5O7YTYV452CAZR2EYBNQGILFHQIFVPWFRQAY \ --source-endpoint-arn arn:aws:dms:us-east-1:112233445566:endpoint:HNX2BWIIN5ZYFF7F6UFFZVWTDFFSMTNOV2FTXZA \ --replication-instance-arn arn:aws:dms:us-east-1:112233445566:rep:ERLHG2UA52EEJJKFYNYWRPCG6T7EPUAB5AWBUJQ \ --migration-type full-load-and-cdc --table-mappings 'file:///FilePath/mappings.json' \ --replication-task-settings 'file:///FilePath/task-settings-tt-enabled.json' \ --replication-task-identifier test-task . . .
其中,此 Time Travel 设置文件的名称是
task-settings-tt-enabled.json
。
同样,您可以将此文件指定为 modify-replication-task
操作的一部分。
请注意,对任务操作的 Time Travel 日志的特殊处理如下所示:
-
start-replication-task
– 运行复制任务时,如果无法访问用于 Time Travel 的 S3 存储桶,该任务将被标记为FAILED
。 -
stop-replication-task
— 任务停止后, AWS DMS 立即将复制实例当前可用的所有时空旅行日志推送到用于时空旅行的 S3 存储桶。
当复制任务运行时,您可以将 EncryptionMode
值从 "SSE_KMS"
更改为 "SSE_S3"
,但不能反向更改。
如果正在进行的任务的 Time Travel 日志大小超过 1 GB,则在达到该大小后的五分钟内将日志DMS推送到 S3。任务运行后,如果 S3 存储桶或KMS密钥变得无法访问,则DMS停止向该存储桶推送日志。如果您发现您的日志未被推送到 S3 存储桶,请检查您的 S3 和 AWS KMS 权限。有关DMS将这些日志推送到 S3 的频率的更多详细信息,请参阅将时空旅行日志 AWS DMS 上传到 S3 的频率。
要在控制台中为现有任务启用 Time Travel,请使用任务设置下的JSON编辑器选项添加一个TTSettings
分区。