阿里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

相關文章
相關標籤/搜索