当文件(Object)上传至存储空间(Bucket)后,您可以通过sign生成经过签名的文件URL,并将签名URL分享给第三方供其下载或预览。
重要
本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门。
命令格式
./ossutil64 sign cloud_url
[--timeout ]
[--version-id ]
[--trafic-limit ]
[--disable-encode-slash]
[--payer ]
[--query-param ]
配置项 |
说明 |
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过期时间以及签名等信息,示例如下:
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折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/156936.html