消息队列配置
本文介绍如何在源数据存储服务中配置事件通知,并将对象变更事件发送至消息队列。完成配置后,迁移服务即可通过消息队列接收数据变更事件,用于创建和运行基于消息队列的同步任务。文档将说明相关配置流程及注意事项。
本文档包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
阿里云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 与迁移任务不匹配的消息,也会进行删除。