更新时间:2024-12-20 GMT+08:00
分享

分享对象

操作场景

您可以使用对象分享功能,通过对象的临时URL将存放在OBS中的对象分享给所有用户。

背景知识

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

  • 临时分享:

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

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

    https://bucketname.obs.cn-north-4.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访问对象失败进行处理。

约束与限制

  • 临时分享文件不需要授权码。临时分享文件夹中的提取码分享方式需要授权码,详情请参见分享文件夹
  • 临时分享文件的URL有效期如下:

    支持的使用方式

    有效期

    控制台

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

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

    如果想要设置更长的有效期,建议使用客户端工具OBS Browser+,OBS Browser+最长支持1年的有效期。如果想要设置永久的权限,请通过桶策略向所有用户授予对象的只读权限

    SDK

    通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间最长为20年。

    API

    通过参数“Expires”设置临时授权失效的时间,临时授权失效的时间最长为20年。

    OBS Browser+

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

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

    obsutil

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

  • 仅桶版本号为3.0的桶支持文件分享功能。查询桶版本号方法请参见OBS 2.0和OBS 3.0的判断方法
  • 归档存储对象需恢复后才能分享。
  • 深度归档存储对象需恢复后才能分享。
  • 分享文件特性发布区域:除西南-贵阳一以外的所有区域均已发布

使用方式

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

相关文档