概述

更新时间:
复制为 MD 格式

在线迁移支持通过消息队列实现数据迁移上云。当业务对数据实时性要求较高、周期调度方式无法满足需求时,可以通过消息队列接收源端数据变更事件,并触发迁移服务进行同步。本文介绍通过消息队列迁移数据的适用场景及操作步骤。

重要

同步任务功能目前需要提工单申请白名单

使用场景

适用于需要持续迁移增量数据的场景。源端数据存储通过消息队列接收对象变更事件(如新增或更新),迁移服务根据队列中的事件信息自动触发数据同步,实现对指定 Bucket 或前缀下数据的持续迁移。

该方式适合在业务持续产生新数据、需要将新增或变更数据及时同步到目标存储的场景中使用,例如数据实时备份、跨平台数据分发或存储迁移过程中对新增数据的持续同步。使用时需要在源数据存储侧提前配置事件通知并关联消息队列,由迁移服务消费队列中的事件以触发同步任务。

image

重要
  • 使用消息队列进行数据迁移时,源数据存储服务和消息队列服务可能会产生相应费用。具体费用以各服务提供商的计费规则为准,请在使用前根据实际业务需求进行评估。

消息队列使用限制

数据地址和迁移任务对消息队列有如下限制。

  • 源数据地址需要关联消息队列,目的地址无需关联。

  • 关联消息队列后的源数据地址仅可用于创建同步任务,不能用于创建非同步任务。

  • 一个消息队列只能关联一个同步任务。该消息队列仅可用于迁移其所属 Bucket 的数据,不能用于迁移其他 Bucket。若创建数据地址时指定了前缀,如需要迁移同一 Bucket 下其他前缀的数据,需要通过非同步任务实现。

操作步骤

说明

创建数据地址前,请先创建消息队列,并在源数据存储服务中配置相应的事件通知,并通过上传测试文件验证事件通知是否生效。有关创建消息队列及配置事件通知的操作,请参见消息队列配置

通过在线迁移服务控制台使用消息队列迁移数据的操作步骤如下:创建迁移任务

  1. 创建源数据地址。请根据源数据类型选择对应迁移教程中的迁移实施文档。例如,源数据存储在 AWS S3 中,创建源数据地址的操作请参见步骤二:创建源地址。创建源地址时,需要填写消息队列相关参数。以下示例仅作参考,请按实际信息填写。

    参数

    是否必填

    说明

    访问域名

    消息队列的访问域名。

    • SQS示例:https://sqs.ap-southeast-1.amazonaws.com/{AwsRootUid}}/{SqsName}。

    • SMQ示例:http://{AliyunUid}}.mns.cn-wulanchabu.aliyuncs.com

    队列名

    消息队列名称。

    • SQS示例:test-aws-sqs

    • SMQ示例:test-oss-smq

    区域

    消息队列所在区域。

    • SQS示例:ap-southeast-1

    • SMQ示例:cn-wulanchabu

    AccessKeyId

    消息队列访问密钥ID。

    • SQS示例:AK******78

    • SMQ示例:AK******66

    SecretAccessKey

    消息队列访问密钥。

    • SQS示例:6B******Vh

    • SMQ示例:6A******Wz

  2. 创建目的数据地址。请根据源数据类型选择对应迁移教程中的迁移实施文档。例如,源数据存储在 AWS S3 中,需要将数据迁移至阿里云对象存储 OSS,创建目的数据地址的操作请参见迁移实施

  3. 创建数据迁移任务。请根据源数据类型选择对应迁移教程中的迁移实施文档。例如,源数据存储在 AWS S3 中,需要将数据迁移至阿里云对象存储 OSS,创建数据迁移任务的操作请参见步骤四:创建迁移任务。创建任务时,需选择同步任务的标签页,具体操作参考文档中相关流程。

后续操作

创建同步任务后,支持对任务执行以下管理操作:

  1. 查看迁移报告。例如,源数据存储在 AWS S3 中,迁移报告生成后将被存储在指定的对象存储(OSS)Bucket中,具体操作请参见查看迁移报告

  2. 查看迁移日志。例如,源数据存储在 AWS S3 中,可通过 SLS 查看日志,具体操作请参见查看迁移日志

  3. 目前同步任务不支持对失败文件进行重试,仅支持暂停任务,并可在后续重新启动。

说明

同步任务的迁移报告可能会在较长时间内处于推送状态,因为系统需要持续对报告内容进行实时更新。目前迁移报告仅支持按天维度生成。迁移报告生成具有以下特点:

  1. 延迟性
    报告按天周期生成,但不保证在周期结束后的固定时间内即可获取。由于报告生成过程中可能涉及数据合并和推送,在消息量较大的高峰时段,报告生成时间可能会出现延迟。因此,按天生成的报告不保证在 T+1 时即可获取 T 日的报告。

  2. 完整性标识
    当报告目录下生成 manifest.json 文件时,表示该时间段的报告已全部生成完成,可以进行下载或处理。

  3. 串行生成
    报告按照时间顺序生成,系统会优先生成时间较早的报告。在当前时间段的报告生成完成之前,不会开始生成后续时间段的报告。报告推送至用户 Bucket 时也遵循相同的时间顺序。