归档存储 提供了便于用户日常操作的命令行工具 oascmd.py,该文档将通过一些简单的操作帮助用户快速熟悉 归档存储 的使用
环境要求
oascmd.py 需要 Python 2.7.x 版本支持,目前无法支持 Python 2.7 以下的版本和 Python 3。
Linux & Mac OS X
Linux 和 Mac 一般自带 Python,打开终端$ python --version
确认版本是否符合要求。如果不符合要求,请在 Python 官网的指导下安装 2.7 版本的 Python
Windows
Windows 不自带 Python,您可以从 Python 官网下载最新的 Python 2.7,推荐下载 Python 2.7.9 以上的版本, 该版本会自带下面需要用到的 pip。另外建议在安装时启用 Add python.exe to Path 这个功能,如下图所示。
安装完成以后,点击 开始 -> 所有程序 -> 附件 -> 命令提示符,输入
python --version
查看版本号,如果出现如下错误提示:
'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。
请确认安装过程中是否启用 Add python.exe to Path,如果没有,请卸载之后重新安装,并启用该特性。
oascmd.py 只支持 Python 2.7
$ pip install --upgrade oassdk
$ pip install -r requirements.txt
$ python setup.py install
安装过程中有可能会提示用户没有相关权限,此时可切换至管理员账号或使用 sudo 执行相关命令。
oascmd.py -h
import oas
import oas.ease
$ oascmd.py -h
$ oascmd.py <subcommand> -h
$ oascmd.py cv oas://oascmd-test-vault
$ oascmd.py ls
Vault列表展示的统计信息并非是实时数据
$ oascmd.py upload oas://oascmd-test-vault <localfile>
Archive ID 是用户操作 Archive 的关键所在,同个文件多次上传,会产生多个不同 Archive,而不是覆盖,因此文件名不能作为 Archive 操作的依据。
如果 upload 不指定 description,默认为本地文件名,注意长度不要超过128字节, 否则只取前128字节的内容。
$ oascmd.py upload oas://oascmd-test-vault localfile
File larger than 100MB, multipart upload will be used
Use 4 parts with partsize 32.00 MB to upload
MultiPartUpload ID: 8F8093C75B714C189D944A1FA9A1FA42
Uploading part 1...
Upload success
...
Archive ID: 43FD1A7A34804D64BDA69C9BE709B12F5E2C656458B1A1100177FC9A725E94A86A954BA8C778CCD3AA218104D38D8D16
$ oascmd.py upload oas://oascmd-test-vault test-input
File larger than 100MB, multipart upload will be used
Use 4 parts with partsize 32.00 MB to upload
MultiPartUpload ID: 16C0AAC6B6C047A0AC837DE397DF3EE5 # 注意这一行返回的ID可以用作续传
Uploading part 1...
Upload success
Uploading part 2...
Upload success
Uploading part 3...
... # 网络中断发生
# 在upload命令后面加上之前upload返回的 MultiPartUpload ID
$ oascmd.py upload oas://oascmd-test-vault test-input 16C0AAC6B6C047A0AC837DE397DF3EE5
Resume last upload with partsize 32.00 MB
Uploading part 3...
Upload success
Uploading part 4...
Upload success
Archive ID: 82F1C196E7044635A56A2ABCA1AAF718EAD10923CFA9DD9E65B9894E220F27BBD01F16BAC1FB320922FC8F82D08336E1
6.379(s) elapsed
# 使用每个 part 64MB 的分段方式进行上传, part 大小必须能够被 32MB 整除
$ oascmd.py upload oas://oascmd-test-vault localfile -p 64M
文件超过100MB之后,oascmd.py 会自动启动 Multipart Upload, 如果需要续传,需要显式指明Multipart Upload ID,否则全部重新上传
# 获取Vault的Archive列表
$ oascmd.py createjob oas://oascmd-test-vault
# 下载Archive
$ oascmd.py createjob oas://oascmd-test-vault <archive_id>
# 只取出Archive前32M的数据
$ oascmd.py createjob oas://oascmd-test-vault <archive_id> --size 32M
# 只取Archive 64M-128M的数据
$ oascmd.py createjob oas://oascmd-test-vault <archive_id> --start 64M --size 64M
# 取出Archive 128M 之后的数据
$ oascmd.py createjob oas://oascmd-test-vault <archive_id> --start 128M
# 注意该Job可能需要4个小时以后才能获取到下载结果
$ oascmd.py fetch oas://oascmd-test-vault <job_id> <localfile>
# 只下载取出数据的前32M, 注意这个范围是相对于createjob的取出范围
$ oascmd.py fetch oas://oascmd-test-vault <job_id> <localfile> --size 32M
$ oascmd.py rm oas://oascmd-test-vault <archive_id>
# 可能无法第一时间删除成功
$ oascmd.py rm oas://oascmd-test-vault
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。