阿里TFS数据迁移OSS一些感觉

咱们是一家电商公司,有着大量的图片须要存储,因历史缘由当时使用的存储是阿里的TFS,可是咱们接手项目后发现老出问题而且没有专业的运维且维护成本很高,因此决定迁移到阿里的OSS (这不是我定的),下面具体讲下此次迁移过程当中的一点实践心得。

遗憾的是TFS并无提供批量导出的工具,因此只有本身想法子决绝了,有两种方案。

1、经过TFS的apijava

@SpringBootApplication
@ImportResource(locations = "classpath:tfs.xml")
public class App implements CommandLineRunner {

public static final Logger log = LoggerFactory.getLogger(App.class);
	@Autowired
	private TfsManager tfsManager;

	public static void main(String[] args) {

		SpringApplication.run(App.class, args);
	}

	@Override
	public void run(String... args) throws Exception {
		
		Boolean result = tfsManager.fetchFile("ssf151f12sdf1.jpg", null, new FileOutputStream(new File("e:\\","ssf151f12sdf1.jpg")));
	}

2、使用TFS自带的tfstools 工具 使用tfstools batch 命令须要组装数据格式 如:get T16ahTBgKT1RCvBVdK /usr/local/tfs/T16ahTBgKT1RCvBVdK 或者把组装好的格式放到文件当中。api

文本文件内容以下(urls.txt)

  • get T16ahTBgKT1RCvBVdK /usr/local/tfs/T16ahTBgKT1RCvBVdK
  • get T1FRhTBgWT1RCvBVdK /usr/local/tfs/T1FRhTBgWT1RCvBVdK
  • get T1JyhTB_VT1RCvBVdK /usr/local/tfs/T1JyhTB_VT1RCvBVdK
  • get T1EthTB_ZT1RCvBVdK /usr/local/tfs/T1EthTB_ZT1RCvBVdK
  • get T1MthTB_dT1RCvBVdK /usr/local/tfs/T1MthTB_dT1RCvBVdK
  • get T1pthTB_ET1RCvBVdK /usr/local/tfs/T1pthTB_ET1RCvBVdK
  • get T1NRhTBgVT1RCvBVdK /usr/local/tfs/T1NRhTBgVT1RCvBVdK

使用tfstoos -s localhost:8100 进入到tfs的终端模式#

进入终端后使用 batch /usr/local/urls.txt 而后回车开始执行,也能够不进入终端直接使用tfstools -s localhost:8100 -i "batch /usr/local/urls.txt"来执行,顺便提一下就是使用tfstools get 命令只能获取单个图片。运维

总结

在选择存储的时候必定要考虑到之后的数据迁移问题,最好支持批量导出数据。ide

相关文章
相关标签/搜索