功能说明
下载对象或按对象名前缀批量下载对象到本地。
须知
● 下载对象或批量下载时,请确保OBS桶中的源对象不发生变化,否则可能产生下载 失败或者数据不一致的问题。
● 如果待下载对象的存储类型为低频访问存储,必须首先恢复待下载对象,否则无法
命令结构
● Windows操作系统 – 下载单个对象
obsutil cp obs://bucket/key file_or_folder_url tempFileDir=xxx] dryRun] u] vlength] vmd5] p=1] threshold=52428800] versionId=xxx] ps=auto] cpd=xxx]fr] o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
– 批量下载对象
obsutil cp obs://bucket[/key] folder_url -r tempFileDir=xxx] dryRun] f] flat] u] vlength] vmd5] j=1] p=1] threshold=52428800] ps=auto] include=*.xxx]
exclude=*.xxx] timeRange=time1-time2] mf] o=xxx] cpd=xxx] config=xxx] e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
● macOS/Linux操作系统 – 下载单个对象
./obsutil cp obs://bucket/key file_or_folder_url tempFileDir=xxx] dryRun] u] vlength] vmd5] p=1] threshold=52428800] versionId=xxx] ps=auto] cpd=xxx] fr] o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
– 批量下载对象
./obsutil cp obs://bucket[/key] folder_url -r tempFileDir=xxx] dryRun] f] flat] u] vlength] vmd5] j=1] p=1] threshold=52428800] ps=auto] include=*.xxx]
exclude=*.xxx] timeRange=time1-time2] mf] o=xxx] cpd=xxx] config=xxx] e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
运行示例
● 以Windows操作系统为例,运行obsutil cp obs://bucket-test/key d:\temp
\test.txt,下载单个对象。
obsutil cp obs://bucket-test/key d:\temp\test.txt Parallel: 3 Jobs: 3
Threshold: 524288000 PartSize: 5242880 Exclude: Include:
VerifyLength: false VerifyMd5: false CheckpointDir: xxxx
[==========================================] 100.00% 4.86 KB/s 0s Download successfully, 19B, obs://bucket-test/key --> d:\temp\test.txt
● 以Windows操作系统为例,运行obsutil cp obs://bucket-test/temp d:\ -f -r,
批量下载对象。
obsutil cp obs://bucket-test/temp d:\ -f -r Parallel: 3 Jobs: 3
Threshold: 524288000 PartSize: 5242880 Exclude: Include:
VerifyLength: false VerifyMd5: false CheckpointDir: xxxx
OutputDir: xxxx
[======================================================] 100.00% 155.59 KB/s 0s Succeed count is: 6 Failed count is: 0
Metrics [max cost:153 ms, min cost:129 ms, average cost:92.00 ms, average tps:17.86]
Task id is: 3066a4b0-4d21-4929-bb84-4829c32cbd0f
● 更多运行示例,请参见下载示例。
参数 约束 描述 folder_url 批量下载时必
选
● 如果file_or_folder_url不存在,则工具会判断其 是否以“/”或“\”结尾,如果是,则会以该路 径创建文件夹,将对象下载到该新建的文件夹 下;
● 如果file_or_folder_url不存在,且不以“/”或
“\”结尾,则以该值作为文件名,将对象下载 到本地;
● 如果file_or_folder_url为已存在的文件,则以该 值作为文件名,将对象覆盖下载到本地;
● 如果file_or_folder_url为已存在的文件夹,则以 对象名为文件名,将对象覆盖下载到
tempFileDir 附加参数,可 选
分段下载时保存临时文件的文件夹,默认为配置文 件中的defaultTempFileDir。
说明
● 如果该值为空,且配置文件中的defaultTempFileDir 也为空,则分段下载时生成的临时文件会保存在待下 载文件的同目录下并以.obs.temp结尾。
● 由于分段下载时生成的临时文件会保存在该目录,请 确保运行obsutil的用户对该路径有写权限。
● 该路径的可用空间需要大于待下载对象的大小。
参数 约束 描述 dryRun 附加参数,可
选
vlength 附加参数,可 选
说明桶中对象必须包含元数据x-obs-md5chksum,否则会忽
略MD5值校验。
p 附加参数,可
选 每个分段下载任务的最大并发数,默认为配置文件 中的defaultParallels。
threshold 附加参数,可
选 开启分段下载任务的阈值,单位:字节,默认为配
● 支持带容量单位配置,例如,配置1MB代表1048576 字节。
versionId 附加参数,下 载对象时可选
● 支持带容量单位配置,例如,配置1MB代表1048576 字节。
● 支持配置为auto,此时obsutil会根据源对象大小自动 设置每个分段任务的段大小。
cpd 附加参数,可
选 生成断点记录文件的文件夹,默认为运行obsutil命 令的用户目录的子文件夹.obsutil_checkpoint。
参数 约束 描述
exclude 附加参数,批 量下载时可选
● 建议使用引号传递该匹配模式(macOS/Linux操作系 统使用单引号,Windows操作系统使用双引号)防止
● 支持指定多个exclude参数,如exclude=*.xxx -exclude=*.xxx
include 附加参数,批
量下载时可选 包含源对象的匹配模式,如:*.jpg。
● 首先执行exclude的匹配规则,如果待下载的对象名不 匹配exclude,则判断待下载的对象名是否匹配该参 数,如果匹配则下载该对象,否则跳过该文件的下 载。
须知
● 建议使用引号传递该匹配模式(macOS/Linux操作系 统使用单引号,Windows操作系统使用双引号)防止
● 支持指定多个include参数,如include=*.xxx -include=*.xxx
参数 约束 描述 timeRange 附加参数,批
量下载时可选
● 使用“time1-time2”,代表匹配的时间段,其中 time1必须小于等于time2,格式为
yyyyMMddHHmmss。
● 时间格式支持自动补全,例如yyyyMMdd等价于 yyyyMMdd000000,yyyyMM等价于
yyyyMM01000000。
● 使用“*-time2”,代表匹配最后修改时间在time2之 前的所有文件,使用“time1-*”,代表匹配最后修改
选 设置名称匹配模式(include、exclude)和时间匹 配模式(timeRange)对对象名以“/”结尾的对象
● 结果清单文件命名规则:cp_{succeed | failed | warning}_report_时间_TaskId.txt。
config 附加参数,可 选
参数 约束 描述
t 附加参数,可
选 指定用户的securitytoken。
响应结果
请参考上传对象的响应结果。