消息队列配置

更新时间:
复制为 MD 格式

本文介绍如何在源数据存储服务中配置事件通知,并将对象变更事件发送至消息队列。完成配置后,迁移服务即可通过消息队列接收数据变更事件,用于创建和运行基于消息队列的同步任务。文档将说明相关配置流程及注意事项。

重要

本文档包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。

阿里云OSS

目前迁移服务仅支持以队列作为事件接收端。创建队列时,请确保队列与 OSS Bucket 位于同一地域。

根据实际需求选择事件类型。目前迁移服务支持的事件类型如下。

分组

类型

说明

ObjectCreated(创建文件)

ObjectCreated:PutObject

Put方法上传文件。

ObjectCreated:PostObject

Post方法上传文件。

ObjectCreated:AppendObject

追加写方式上传文件。

ObjectCreated:PutSymlink

为文件创建软链接。

ObjectCreated:CopyObject

拷贝文件。

ObjectCreated:CompleteMultipartUpload

完成分片上传。

ObjectReplication(复制文件)

ObjectReplication:ObjectCreated

数据复制过程涉及的写入操作。

ObjectReplication:ObjectModified

数据复制过程涉及的覆盖操作。

ObjectModified(修改文件)

ObjectModified:UpdateObjectMeta

调用UpdateObjectMeta接口修改某个对象的属性。

在 OSS 上创建事件通知的具体操作,请参见通过事件通知实时处理OSS文件变动

迁移服务访问并消费 SMQ(原MNS) 所需的权限包括以下几项:

  • mns:GetQueueAttributes

  • mns:ReceiveMessage

  • mns:DeleteMessage

说明
  • 创建队列时,请注意以下事项:

    • 建议将消息保存时长设置为 7 天,以确保在队列中的消息被全部消费前不会因队列策略而被删除。

    • 建议将消息延迟时间设置为 10 秒以上,以避免因时间同步差异导致文件上传至 OSS 时设置 LastModifiedTime 失败。

    • 若迁移数据中包含大文件,建议根据迁移任务的带宽情况,合理设置消息可见性超时时间。

  • 事件通知规则约 10 分钟后生效。

  • 创建队列并完成事件通知配置后,建议在 OSS Bucket 中上传测试文件,以验证消息是否能够正确推送到消息队列。

  • 迁移服务在成功消费消息后,会从队列中删除该消息;对于消息格式、Bucket 或 prefix 与迁移任务不匹配的消息,也会进行删除。

AWS S3

目前迁移服务仅支持 Amazon S3 将事件通知消息发送至 Amazon Simple Queue Service(Amazon SQS)队列。创建队列时,请确保队列与 AWS S3 Bucket 位于同一地域。

根据实际需求选择事件类型。目前迁移服务支持的事件类型如下。

分组

类型

说明

ObjectCreated(创建文件)

ObjectCreated:Put

Put方法上传文件。

ObjectCreated:Post

Post方法上传文件。

ObjectCreated:Copy

追加写方式上传文件。

ObjectCreated:CompleteMultipartUpload

完成分片上传。

在 AWS S3 上创建事件通知的具体操作,请参见Amazon S3 事件通知

迁移服务访问并消费 AWS SQS 所需的权限包括以下几项:

  • sqs:ReceiveMessage

  • sqs:DeleteMessage

  • sqs:GetQueueAttributes

说明
  • 创建队列时,请注意以下事项:

    • 建议选择标准队列类型。

    • 建议将消息保留周期设置为 7 天以上,以确保队列中的消息在被全部消费前不会因队列策略而被删除。

    • 建议将消息交付延迟设置为 10 秒以上,以避免因时间同步差异导致文件上传至 OSS 时设置 LastModifiedTime 失败。

    • 若迁移数据中包含大文件,建议根据迁移任务的带宽情况,合理设置消息可见性超时时间。

    • 如需对传输中的消息进行加密,目前迁移服务仅支持使用 Amazon SQS 密钥(SSE-SQS)。

  • 创建队列并完成事件通知配置后,建议在 AWS S3 Bucket 中上传测试文件,以验证消息是否能够正确推送到消息队列。

  • 迁移服务在成功消费消息后,会从队列中删除该消息;对于消息格式、Bucket 或 prefix 与迁移任务不匹配的消息,也会进行删除。