Merge pull request #4 from my-contributes/main Migrate file I/O from sync to async in JD S3 client
Merge pull request #4 from my-contributes/main
Migrate file I/O from sync to async in JD S3 client
oss_pipe 是rust编写的文件迁移工具,旨在支撑大规模的文件迁移场景。相比java 或 golang 构建的同类型产品,借助rust语言的优势,oss_pipe具备无GC、高并发、部署便利、OOM风险低等优势。
文件迁移,包括oss 间文件迁移和本地到oss的文件迁移
主要功能
存储适配及支持列表
文件校验,检查源文件与迁移完成后目标文件的差异
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
apt update apt install openssl apt install libssl1.1 apt install libssl-dev apt install -y pkg-config
git clone https://github.com/jiashiwen/oss_pipe.git cd oss_pipe cargo build --release
oss_pipe 支持命令执行模式和交互式执行模式。 您可以通过 oss_pipe [subcommand] 执行执行任务,比如
oss_pipe parameters provider
也可以通过 oss_pipe -i 命里进入交互模式。交互模式支持按 ‘tab’ 键进行子命令提示。
通过 oss_pipe template 命令生成模板
oss_pipe template transfer oss2oss /tmp/transfer.yml
transfer.yml 文件内容
task_id: '7143066927412416513' name: transfer oss to oss task_desc: type: transfer source: provider: ALI access_key_id: access_key_id secret_access_key: secret_access_key endpoint: http://oss-cn-beijing.aliyuncs.com region: cn-north-1 bucket: bucket_name prefix: test/samples/ target: provider: JD access_key_id: access_key_id secret_access_key: secret_access_key endpoint: http://s3.cn-north-1.jdcloud-oss.com region: cn-north-1 bucket: bucket_name prefix: test/samples/ attributes: bach_size: 100 task_parallelism: 12 max_errors: 1 meta_dir: /tmp/meta_dir target_exists_skip: false start_from_checkpoint: false large_file_size: 50m multi_part_chunk: 10m exclude: - test/t3/* - test/t4/* include: - test/t1/* - test/t2/* continuous: false transfer_type: Stock last_modify_filter: filter_type: Greater timestamp: 1703039867
修改 access_key_id secret_access_key 等参数,适配自己的任务。template 命令按照任务类型创建模版。parameters 支持参数查询,包括支持的 provider 以及 任务类型
osstask 子命令用于执行任务
oss_pipe task exec filepath/task.yml
任务配置请参考任务配置手册
命令请参考命令手册
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
OSS PIPE
oss_pipe 是rust编写的文件迁移工具,旨在支撑大规模的文件迁移场景。相比java 或 golang 构建的同类型产品,借助rust语言的优势,oss_pipe具备无GC、高并发、部署便利、OOM风险低等优势。
主要功能
transfer
文件迁移,包括oss 间文件迁移和本地到oss的文件迁移
主要功能
存储适配及支持列表
compare
文件校验,检查源文件与迁移完成后目标文件的差异
Getting Stated
How to build
基本使用
oss_pipe 支持命令执行模式和交互式执行模式。 您可以通过 oss_pipe [subcommand] 执行执行任务,比如
也可以通过 oss_pipe -i 命里进入交互模式。交互模式支持按 ‘tab’ 键进行子命令提示。
定义任务
通过 oss_pipe template 命令生成模板
transfer.yml 文件内容
修改 access_key_id secret_access_key 等参数,适配自己的任务。template 命令按照任务类型创建模版。parameters 支持参数查询,包括支持的 provider 以及 任务类型
执行任务
osstask 子命令用于执行任务
同步任务流程
任务配置请参考任务配置手册
命令请参考命令手册