更新时间:2024-04-17 GMT+08:00

下载示例

本章节案例中的所有命令均以Linux操作系统为例,提供下载操作指导。

假设bucket-test桶内包含如下对象:

obs://bucket-test/test1.txt
obs://bucket-test/test2.txt
obs://bucket-test/test3.txt
obs://bucket-test/test4.txt
obs://bucket-test/test5.txt
obs://bucket-test/test6.txt
obs://bucket-test/src1/
obs://bucket-test/src1/test7.txt
obs://bucket-test/src2/
obs://bucket-test/src2/test8.txt
obs://bucket-test/src2/src3/
obs://bucket-test/src2/src3/test9.txt

基于以上桶内对象格式,不同下载场景下的命令示例如下:

  • 下载bucket-test桶中的test1.txt文件至本地的src1文件夹中,下载命令如下:
    ./obsutil cp obs://bucket-test/test1.txt  /src1

    下载完成后,本地生成的文件为:

    └── src1
        └── test1.txt
  • 下载bucket-test桶中的test1.txt文件至本地,如果本地不存在test.txt文件,则直接下载且下载后命名为text.txt,如果本地已存在test.txt文件,则以test1.txt内容覆盖test.txt进行下载。下载命令如下:
    ./obsutil cp obs://bucket-test/test1.txt  /test.txt

    下载完成后,本地文件为:

    └── test.txt
  • 递归下载bucket-test桶中的src2文件夹中的所有文件和文件夹(包括src2文件夹本身)至本地已存在的src1文件夹,且下载过程中不进行询问操作,下载命令为:
    ./obsutil cp obs://bucket-test/src2  /src1 -r -f

    下载完成后,本地生成的文件为:

    └── src1
        └── src2
            ├── src3
                └── test9.txt
            └── test8.txt
  • 递归下载bucket-test桶中的src2文件夹中的所有文件和文件夹(不包括src2文件夹本身)至本地已存在的src1文件夹,且下载过程中不进行询问操作,下载命令为:
    ./obsutil cp obs://bucket-test/src2  /src1 -r -f -flat

    下载完成后,本地生成的文件为:

    └── src1
        ├── src3
            └── test9.txt
        └── test8.txt
  • 递归下载bucket-test桶中的所有文件至本地已存在的src0文件夹中,且下载过程中不进行询问操作,下载命令为:
    ./obsutil cp obs://bucket-test  /src0 -r -f

    下载完成后,本地生成的文件为:

    └── src0
        ├── test1.txt
        ├── test2.txt
        ├── test3.txt
        ├── test4.txt
        ├── test5.txt
        ├── test6.txt
        ├── src1
            └── test7.txt
        └── src2
            ├── src3
                └── test9.txt
            └── test8.txt
  • 排除下载bucket-test桶中src1下的src2及其包含的所有文件和文件夹,命令如下:
    ./obsutil cp obs://bucket-test/src1/ src1 -exclude "*src1/src2*" -r -f -mf

    下载成功4个对象,下载信息中包含Exclude及内容字样。

    ./obsutil cp obs://bucket-test/src1/ src1 -exclude "*src1/src2*" -r -f -mf
    
    Parallel:      5                   Jobs:          5
    Threshold:     50.00MB             PartSize:      auto
    VerifyLength:  false               VerifyMd5:     false
    Exclude:       *src1/src2*
    Include:
    CheckpointDir: xxxx
    OutputDir: xxxx
    TempFileDir: xxxx
    
    [====================================================] 100.00% tps:87.78 ?/s 4/4 2.39KB/2.39KB 223ms
    Succeed count is:   4         Failed count is:    0
    Succeed bytes is:   2.39KB
    Metrics [max cost:147 ms, min cost:77 ms, average cost:56.00 ms, average tps:8.85, transferred size:2.39KB]

    下载完成后,本地生成的文件为:

    └── src1
        ├── src3
            └── test9.txt
        └── test7.txt