文档

sign(生成签名URL)

更新时间:

当文件(Object)上传至存储空间(Bucket)后,您可以通过sign生成经过签名的文件URL,并将签名URL分享给第三方供其下载或预览。

重要

本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门

命令格式

./ossutil64 sign cloud_url
[--timeout <value>] 
[--version-id <value>] 
[--trafic-limit <value>] 
[--disable-encode-slash] 
[--payer <value>]
[--query-param <value>]

参数及选项说明如下:

配置项

说明

cloud_url

文件所在Bucket的完整路径。

--timeout

签名URL过期时间,单位为秒。默认值为60。

重要

当前时间戳与签名URL的过期时间之和不能超过9223372036854775807,否则会溢出报错。例如,当前时间戳为1643341269,则签名URL过期时间最大不能超过9223372035211434538。

--version-id

Object的指定版本ID。仅适用于已开启或暂停版本控制状态Bucket下的Object。

--trafic-limit

限定HTTP的访问速度,单位为bit/s。缺省值为0,表示不受限制。取值范围为819200~838860800,即100 KB/s~100 MB/s。

--disable-encode-slash

不对cloud_url中携带的正斜线(/)进行编码。

--payer

请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester

--query-param

设置请求中的查询参数。该参数可以出现多次。例如,您可以将该参数设置为图片处理参数。

--query-param支持的参数为:x-oss-process、response-content-type、x-oss-traffic-limit、response-content-language、response-expires、response-cache-control、response-content-disposition、response-content-encoding、x-oss-ac-source-ip、x-oss-ac-subnet-mask、x-oss-ac-vpc-id、x-oss-ac-forward-allow。关于参数含义的更多信息,请参见在URL中包含签名GetObject

说明

仅1.7.15及以上版本支持设置--query-param参数。

使用示例

  • 为目标存储空间examplebucket下的文件exampleobject.png生成文件URL,其默认超时时间为60秒。

    ./ossutil64 sign oss://examplebucket/exampleobject.png
  • 为目标存储空间examplebucket下的文件exampleobject.png生成文件URL,并指定超时时间为3600秒。

    ./ossutil64 sign oss://examplebucket/exampleobject.png --timeout 3600
  • 为目标存储空间examplebucket下的文件exampleobject.png生成文件URL,指定其超时时间为7200秒,并限定其访问速度为100MB/s。

    ./ossutil64 sign oss://examplebucket/exampleobject.png --timeout 7200 --trafic-limit 838860800
  • 为已开启版本控制的存储空间examplebucket下的exampleobject.jpg的指定版本文件生成文件URL,并指定超时时间为1800秒。

    ./ossutil64 sign oss://examplebucket/exampleobject.jpg --timeout 1800 --version-id  CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
  • 为目标存储空间examplebucket下的文件exampleobject.jpg生成处理后的图片URL,将图片宽高设置为100px,并旋转90度。

     ./ossutil64 sign oss://examplebucket/exampleobject.jpg  --query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90
  • 为目标存储空间examplebucket下的文件exampleobject.jpg生成处理后的图片URL,将图片宽高设置为100px,并旋转90度,然后限速100 KB/s,即819200 bit/s。

    ./ossutil64 sign oss://examplebucket/exampleobject.jpg  --query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90 --query-param x-oss-traffic-limit:819200
  • 以上示例操作成功后,返回结果中将包含生成文件URL所用时长、文件URL过期时间以及签名等信息,示例如下:

    https://examplebucket.ss-cn-hangzhou.aliyuncs.com/exampleobject.png?Expires=1608282224&OSSAccessKeyId=LTAI4G33piUmgRN1DXx9****&Signature=jo4%2FGykfuc1A4fvyvKRpRyymYH****
    0.368676(s) elapsed

通用选项

当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。

例如您需要为另一个阿里云账号下,华东2(上海)地域下存储空间testbucket下的exampletest.jpg文件生成超时时间为3600秒的文件URL,命令如下:

./ossutil64 sign oss://testbucket/exampletest.jpg --timeout 3600 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

关于此命令的其他通用选项的更多信息,请参见通用选项

  • 本页导读 (1)
文档反馈