AWS DMS Batch 将模式应用于 S3 目标

问题描述 投票:0回答:2

我正在使用 AWS DMS 将本地 MySQL 数据库迁移到 AWS S3。

我尝试创建 cdc 复制任务,该任务将每隔 x 时间或当缓冲区超过特定大小时应用来自源(mysql)的更改。其背后的原因是我希望在 S3 中拥有大文件以优化查询。尽管多次尝试,DMS 不会批量更改并在更改发生时应用它们。

以下是我尝试过的任务设置之一(我尝试过多种变体):

{
    "TargetMetadata": {
        "BatchApplyEnabled": true
    },
    "ChangeProcessingTuning": {
        "BatchApplyPreserveTransaction": false,
        "BatchApplyTimeoutMin": 3600,
        "BatchApplyTimeoutMax": 3600,
        "MemoryKeepTime": 600
    }
}

我怀疑如果 S3 是目标,我想要做的事情是不可能的。我将此基于我在 CloudFront 日志中找到的任务:

2020-03-22T07:49:23 [STREAM_COMPONEN ]I:  Loading stream component 'sorter' with id '101'  (streamcomponent.c:1003)
2020-03-22T07:49:23 [STREAM_COMPONEN ]I:  Loading stream component 'S3' with id '55'  (streamcomponent.c:1003)
2020-03-22T07:49:23 [STREAM_COMPONEN ]I:  Loading stream component 'Mysql' with id '30'  (streamcomponent.c:1003)
2020-03-22T07:49:23 [STREAM_COMPONEN ]I:  Force switch to transactional apply mode for File target  (endpointshell.c:1397)
2020-03-22T07:49:23 [STREAM_COMPONEN ]I:  Loading stream component 'Mysql' with id '30'  (streamcomponent.c:1003)

Force switch to transactional apply mode for File target
让我觉得批量应用模式不适用于S3目标。

amazon-web-services amazon-s3 aws-dms
2个回答
0
投票

有一个名为

cdcMaxBatchInterval
的未记录设置,您可以将其用于 S3 目标端点。

cdcMaxBatchInterval=600;

https://forums.aws.amazon.com/thread.jspa?messageID=942302#942302


0
投票

批量应用模式不适用于 S3,因为它不是数据库

© www.soinside.com 2019 - 2024. All rights reserved.