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

分享对象

使用场景

实际业务场景下,您可能会需要将文件临时分享给其他人或者将文件永久共享给其他人。

  • 临时分享:

    通过文件的临时URL直接将其分享给其他用户。文件分享强调临时性,所有分享的URL都是临时URL,存在有效期。

    临时URL是由文件的访问域名和临时鉴权信息组成。示例如下:

    https://bucketname.obs.ap-southeast-1.myhuaweicloud.com:443/image.png?AccessKeyId=xxx&Expires=xxx&x-obs-security-token=xxx&Signature=xxx

    临时鉴权信息主要包含AccessKeyIdExpiresx-obs-security-tokenSignature四个参数。其中AccessKeyIdx-obs-security-tokenSignature用于鉴权,Expires定义鉴权的有效期。

    临时鉴权的方法及各参数的详细解释,请参见《对象存储服务API参考》的URL中携带签名章节。

  • 永久共享:

    通过将对象权限设置为匿名用户读取权限,通过分享对象URL,匿名用户通过分享的链接地址可访问对象数据。设置权限请参见对匿名用户授予指定对象的公共读权限

    对象类型不同,通过浏览器访问该对象的方式不同。例如:.txt、.html等文件可直接通过浏览器打开浏览,而.exe、.dat等文件则会在浏览器打开时,自动下载到本地。

    获取对象访问URL请参见如何获取对象访问路径?

    操作失败请参见通过URL访问对象失败进行处理。

约束与限制

  • 归档存储或深度归档存储对象需恢复后才能分享。
  • 临时分享文件不需要授权码。临时分享文件夹中的提取码分享方式需要授权码,详情请参见分享文件夹
  • 仅桶版本号为3.0的桶支持临时文件分享功能。查询桶版本号方法请参见OBS 2.0和OBS 3.0的判断方法
  • 临时分享文件的URL有效期如下:

    支持的使用方式

    有效期

    控制台

    取值范围为1分钟到18小时。

    当对对象执行“分享”之后,OBS就会以默认5分钟的有效期获取临时鉴权信息,并生成分享链接,此时链接就已经生效并且开始计算时间了。每调整一次URL有效期,OBS就会重新获取一次鉴权信息以生成新的分享链接,新链接的有效期从调整的时候开始计算。

    SDK

    通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间为24小时。

    API

    通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间为24小时。

    OBS Browser+

    使用账号密码登录时,分享的有效期最长只有24小时,默认10小时。

    如果需要更长的有效期,请使用永久AK/SK方式登录。

    obsutil

    通过附加参数“e”设置生成的对象下载链接的过期时间(单位:秒),最小值为60秒,默认为300秒,设置的过期时间没有上限。

使用方式

OBS支持通过控制台、SDK、API、OBS Browser+、obsutil方式分享文件。

支持的使用方式

参考文档

控制台

分享文件

SDK

OBS支持多种语言SDK,请从SDK概述页面选择进入对应的开发指南查阅。

API

URL中携带签名

OBS Browser+

分享文件或文件夹

obsutil

生成对象的下载链接

相关操作

文件分享功能生成临时URL,使用wget下载时,需要通过""和-O指定文件名,否则会出错。

例如:

[root@ecs-test ~]# wget "临时URL" -O abc

其中,“abc”为新的文件名。