开发者学堂课程【管理功能玩转对象存储 OSS 使用入门:如何迁移 OSS 的文件_3】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/378/detail/4746
如何迁移 OSS 的文件_3
内容介绍
一、通过 API/SDK 拷贝文件
二、通过 oss-import 工具迁移
三、通过云市场服务迁移
一、通过 API/SDK 拷贝文件
1、概述
将同一数据中心的 bucket 上的数据进行迁移可使用 Copy0bject和 UploadPartCopy 实现。通过 API 或者 SDK 拷贝文件方式的使用场景是如果用户的源数据端和目标数据端是属于统一数据中心的 bucket,用户可以通过 API 或者 SDK 的 copy object 或者uploadpartcopy 两个接口来实现文件的拷贝。
2、区别
如果是 1GB 以下文件采用 CopyObject (超过该大小会返回400和错误提示: EntityTooLarge ) ,超过该大小的则使用 UploadPartCopy。
3、演示
具体两个接口的使用方法与前述的 putobject 以及 uploadpart 示例代码使用方法相同,建议可以参考前述的示例代码进行操作。
4、优缺点
(1)优点:速度较快,因为本方法使用的场景是源数据端和目标数据端是同一数据中心的 bucket ,因此本方法是可以采用内网进行通讯的,这里需要在 endpoint 地方指定为内网地址,用户即可享受千兆带共享带宽进行传输,而且切点也是用户需要自行实现迁移逻辑,包括便利源数据端的 bucket 中的所有 object,以及调用对应的迁移接口来进行数据迁移。
(2)缺点:操作复杂,这里需要特别提醒的是,为了降低本方法的使用难度,osscmd 可以更加方便的实现本方法的操作,在 osscmd 中提供了 copy 以及 copybucket 的两个接口进行操作,其中 copy 主要是指 copy 具体的 object , 而 copy bucket 则可以将整个 bucket 下所有的 object 进行迁移,来实现整个 bucket 的数据的进行传输。其中在设置 copybucket 的时候可以选择 perfect,就可以指定 bucket 下特定的文件夹进行传输,以提高用户的使用范围。
二、通过 oss-import 工具迁移
1、概述:
oss-import 工具是阿里云官方提供的 oss 迁移工具,用户可以通过阿里云的官网进行下载。oss- import 可将用户本地或者其他云存储的文件迁移到 OSS 中。
2、演示:
(1)下载:首先登录阿里云的官网,点击开发者社区,帮助与文档,在其中寻找到 oss ,点击周边工具,点击官方迁移工具,可以看到 ossimport 提供了两种主流的操作系统对应的 SDK 。
(2)安装:这里以 windows 平台的使用方法为例,在工具部署下面点击进行下载,可以得到对应的 oss import 的压缩包,得到 oss import 的压缩包后,可以对其进行解压,得到其文件夹。打开文件夹可以查看到其主要包含的子文件,其中几个比较重要的子文件分别是Bin目录会包含所有 oss import 需要的对应的 java 包。 conf 则包含了 oss import 的配置文件,用户需要在对应的配置文件中,按照自己的业务场景需求对其进行配置,以满足自己的迁移任务的需要。Logs 后续会记录所有 oss import 的迁移任务的相关细节的日志,一键导入的批处理文件则是启动 oss import 的入口。
配置:配置 oss import 以满足用户的需求。首先进入 conf 文件夹,点击 local-job.cfg 文件,打开配置文件,可以查看到该配置文件中有众多的配置项,用户可以根据自己的需求进行配置,这里仅对其中重要的几项进行讲解,其中 jobtype 则主要制定了 job 的类型,这里 type 可以分为两种,一种是 import ,一种是 audit。 Import 则指定了从源数据端同步数据到目标端的 oss ,而 audit 则会校验源数据端的数据和目标端的oss 的数据是否一致。两个参数incremental 和 incrementalmodelnterval 则主要只设定为增量模式,当 incremental 设置为主的时候,系统会以 incrementalmodelnterval 的时间间隔来对源数据端进行扫描,如果源数据端存在有增长数据,就会将其增长数据同步到 oss 上,建议用户不要把 incrementalmodelnterval 设置太小,否则会对源数据端造成太大的负载,srctpe 指定了同步源的类型,目前支持 oss,qiniu,baidu,local 本地文件,srcprefix 如果源数据指定的是本地文件,用户需要设置本地路径,如果是其他类型,而对应的是其他文件的前缀名。Destaccesskey,destsecretkey 则指定的目标段 bucket 所属账号的 access ID 和 access secret。destdomain 指定的目标端 bucket 所属的 endpoint,用户需要根据自己购买的endpoint 所属地域来进行设置,而源数据端和目标数据端属于同一个数据中心,可以使用 oss 的内网地址,destbucket 指定了目标端的 bucket 名称,destprefix 指定了目标端文件包含的前缀,在配置完成本配置文件后,用户即可通过一键导入.bat 启动 oss import,测试 import 工具的导入功能,可以查看到在点击一键导入后,系统会生成两个 cmd 窗口,其中第一个cmd窗口则是显示整个 job 的状态,它会以每10秒钟打整个任务的一个状态,而右边的 cmd 窗口则会显示每一个上传文件所属 test 的状态,在上传文件的过程中,用户请不要关闭两个窗口,否则会导致上传过程中出现异常。这里以一个小的上传操作为示例来查看。可以查看到左侧窗口已显示所有任务成功完成,同步执行结束。这时候所属的 oss import 的上传操作即已完成。
3、优缺点:
(1)优点:兼容 windows/linux 系统:配置简便:提供动态配置参数
方便用户结合自身场景进行迁移;支持多处数据来源设置。
(2)缺点:操作复杂,无法普适所有用户场景。
三、通过云市场服务迁移
1、概述:
云市场提供了海量数据迁移到 OSS 的功能,用户可以购买该服务有第三方实现迁移数据的功能。
2、演示:
海量数据迁移至 0SS 服务。点击进入云市场,可以查看到对应的数据迁移产品,用户可以选择自己对应的数据规格并查看到其对应的金额。另外在下方的产品介绍中,详细罗列的服务内容、服务流程以及客户需要做什么,已完成整治数据迁移的操作,用户可以在该页面中详细的查看该产品的数据迁移的过程。
3、优缺点:
(1)优点:操作便捷,速度较快
(2)缺点:需要费用花销