如何将数据同步到阿里云OSS?

2024-03-15 9:55:19网络知识悟空
用户希望其拥有的OSS上两个不同的Bucket之间能够自动、异步复制Object,源Bucket中的对象的改动(新建、覆盖、删除等)能够持续且自动地同步到目标Bucket。
主要方法
OSS跨区域复制:在控制台中,对源Bucket进行跨区域复制配置,详情请参见设置跨区域复制。
OSS API或SDK:使用OSS API或SDK编写代码实现,详情请参见Copy Object、Upload Part Copy。
场景1:跨区域同步
此场景是指源Bucket和目标Bucket分属不同的区域。
各方法的选择如下:
设置跨区域复制
源Bucket是标准存储,目标Bucket是标准存储。
源Bucket是标准存储,目标Bucket是低频存储。
源Bucket是低频存储,目标Bucket是标准存储。
源Bucket是低频存储,目标Bucket是低频存储。
说明:这些情况下,客户也可以使用OSS API/SDK编写代码,实现同步,但不推荐。
OSS API/SDK Copy Object、Upload Part Copy
源Bucket是标准存储,目标Bucket是归档存储
源Bucket是低频存储,目标Bucket是归档存储
源Bucket是归档存储,目标Bucket是标准存储
源Bucket是归档存储,目标Bucket是低频存储
源Bucket是归档存储,目标Bucket是归档存储
说明:由于归档存储存在恢复时间,如果客户在应用中需要由归档存储向标准或低频存储间同步,建议采用更合理的架构,将源Bucket改为标准或低频存储,目标Bucket改为归档存储,节省成本,提高业务效果。
常见疑问
是否可以指定Bucket下特定目录而非整个Bucket间进行同步?
可以,通过设置指定文件名前缀进行同步,控制只同步特定目录。
归档存储是否可以使用跨区域复制功能?
当源Bucket或目标Bucket是归档存储时,不支持设置跨区域复制。用户可以使用OSS API/SDK 编写代码,以实现同步。
由于归档存储存在恢复时间,如果客户在应用中,需要由归档存储,向标准或低频存储间同步,建议采用更合理的架构,将源Bucket改为标准或低频存储,目标Bucket改为归档存储,节省成本,提高业务效果。
场景2:同区域同步
此场景是指源Bucket和目标Bucket属于同一的区域。
各方法的选择如下:
OSS跨区域复制
不适用,OSS跨区域复制功能不支持同一区域的两个Bucket间数据同步。
OSS API/SDK Copy Object、Upload Part Copy
同一区域的Bucket间数据同步,可通过使用OSS API/SDK编写代码实现。
常见疑问
如果只是需要源Bucket的历史数据迁移或复制到目标Bucket,而不需要将后续的持续改动同步到目标Bucket,有没有比使用OSS API/SDK 更方便的方案?
有,这种情况属于数据迁移的情况,可以参考前文关于数据迁移的方案介绍。


发表评论: