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

生成对象的下载链接

功能说明

生成指定桶内对象的下载链接,或按对象名前缀批量生成桶内对象的下载链接。

命令结构

  • Windows操作系统
    • 生成单个对象的下载链接
      obsutil sign obs://bucket/key [-e=300] [-config=xxx] 
    • 按对象名前缀批量生成对象的下载链接
      obsutil sign obs://bucket[/key] -r [-e=300] [-timeRange=time1-time2] [-include=*.xxx] [-exclude=*.xxx] [-o=xxx] [-config=xxx] 
  • macOS/Linux操作系统
    • 生成单个对象的下载链接
      ./obsutil sign obs://bucket/key [-e=300] [-config=xxx] 
    • 按对象名前缀批量生成对象的下载链接
      ./obsutil sign obs://bucket[/key] -r [-e=300] [-timeRange=time1-time2] [-include=*.xxx] [-exclude=*.xxx] [-o=xxx] [-config=xxx] 

运行示例

  • 以Windows操作系统为例,运行obsutil sign obs://bucket-test/test.txt,生成单个对象下载链接。
    obsutil sign obs://bucket-test/test.txt
    
    Download url of [obs://bucket-test/test.txt] is:
      http://your-endpoint/bucket-test/test.txt?AccessKeyId=xxxx&Expires=1552548758&Signature=xxxx
  • 以Windows操作系统为例,运行obsutil sign obs://bucket-test/test/ -r,批量生成对象下载链接。
    obsutil sign obs://bucket-test/test/ -r
    
    Generate download urls for objects . 
    
    Generate the download url(s) for the objects in the bucket [bucket-test] finished 
    Task id: af4dc692-6a88-4541-8156-ff1a889d2288
    • 由于可能存在对象数量庞大的场景,OBS Util会将对象的下载链接归档到结果清单文件目录下具体的文件,该文件名与Task Id相关联,比如上例的Task Id为af4dc692-6a88-4541-8156-ff1a889d2288,那么存在sign_succeed_report_{时间戳}_af4dc692-6a88-4541-8156-ff1a889d2288.txt文件。
    • 结果清单文件目录默认为用户目录的子文件夹.obsutil_output,也可以通过-o参数指定生成目录。

参数说明

参数

约束

描述

bucket

必选

桶名。

key

可选

生成单个对象下载链接的对象名,或批量生成对象下载链接的对象名前缀。

e

附加参数,可选

生成的对象下载链接的过期时间(单位:秒),最小值为60秒,默认为300秒。

r

附加参数,批量生成时必选

按指定的对象名前缀批量生成对象的下载链接。

exclude

附加参数,批量生成时可选

不包含对象的匹配模式,如:*.txt。

说明:
  • 支持“*”匹配多个任意字符和“?”匹配单个任意字符,例如abc*.txt代表匹配以abc开头以.txt结尾的任意文件。
  • 您可以使用“\*”代表匹配“*”字符本身,使用“\?”代表匹配“?”字符本身。
  • 如果待下载的对象名匹配该参数,则跳过该对象的复制。
须知:
  • 建议使用引号传递该匹配模式(macOS/Linux操作系统使用单引号,Windows操作系统使用双引号)防止特殊符号被操作系统转义,导致不可预期的结果。
  • 该匹配模式作用于对象全路径(含从根路径开始的对象前缀和对象名,例如,桶内对象路径为obs://bucket/src1/src2/test.txt,则对象的全路径为src1/src2/test.txt)。
  • 该匹配模式仅适用于对象名非“/”结尾的对象。
  • 支持指定多个exclude参数,如-exclude=*.xxx -exclude=*.xxx

include

附加参数,批量生成时可选

包含对象的匹配模式,如:*.jpg。

说明:
  • 支持“*”匹配多个任意字符和“?”匹配单个任意字符。
  • 您可以使用“\*”代表匹配“*”字符本身,使用“\?”代表匹配“?”字符本身。
  • 首先执行exclude的匹配规则,如果待下载的对象名不匹配exclude,则判断待下载的对象名是否匹配该参数,如果匹配则下载该对象,否则跳过该文件的下载。
须知:
  • 建议使用引号传递该匹配模式(macOS/Linux操作系统使用单引号,Windows操作系统使用双引号)防止特殊符号被操作系统转义,导致不可预期的结果。
  • 该匹配模式作用于对象全路径(含从根路径开始的对象前缀和对象名,例如,桶内对象路径为obs://bucket/src1/src2/test.txt,则对象的全路径为src1/src2/test.txt)。
  • 该匹配模式仅适用于对象名非“/”结尾的对象。
  • 支持指定多个include参数,如-include=*.xxx -include=*.xxx

timeRange

附加参数,可选

生成对象下载链接时的时间段匹配模式,仅生成最后修改时间在该时间段内对象的链接。

该匹配模式优先级低于对象名匹配模式:exclude和include,优先执行对象名匹配模式后才会执行该匹配模式。

说明:
  • 该匹配模式表示的时间是UTC时间。
  • 该匹配模式仅适用于对象名非“/”结尾的对象。
  • 使用“time1-time2”,代表匹配的时间段,其中time1必须小于等于time2,格式为yyyyMMddHHmmss。
  • 时间格式支持自动补全,例如yyyyMMdd等价于yyyyMMdd000000,yyyyMM等价于yyyyMM01000000。
  • 使用“*-time2”,代表匹配最后修改时间在time2之前的所有文件,使用“time1-*”,代表匹配最后修改时间time1之后的所有文件。

o

附加参数,批量生成时可选

生成结果清单文件的文件夹,命令执行完成后,会在该文件夹下生成结果清单文件(可能包含成功结果和失败结果两个文件),默认为运行obsutil命令的用户目录的子文件夹.obsutil_output。

说明:
  • 结果清单文件命名规则:sign_{succeed | failed}_report_时间_TaskId.txt。

    单个结果清单文件默认情况下最大为30MB且最大可保留的文件个数为1024,可在配置文件中通过recordMaxLogSize和recordBackups分别配置。

config

附加参数,可选

运行当前命令时的自定义配置文件,可支持的配置参数请参考配置参数说明