
# 分享文件夹
#### 操作场景
您可以使用文件夹分享功能，将OBS中的整个文件夹分享给所有用户。
分享文件夹包含临时分享和永久共享。
#### 背景知识
- 临时分享： 通过文件夹的临时URL直接将其分享给其他用户。文件夹分享强调临时性，所有分享的URL都是临时URL，存在有效期。
  临时分享分为两种方式：提取码分享、直接分享。
  **提取码分享**
  分享者需要先设置一个提取码，再创建分享。创建成功后，OBS会自动将文件夹中的所有对象的下载链接汇总到一个静态网站中，并托管到一个公共的OBS桶。所有用户均可使用创建分享时生成的临时URL和提取码，访问这个静态网站，并进行文件下载。
  临时URL是由文件夹的访问域名和临时鉴权信息组成。示例如下：
  ```
  https://e-share.obs-website.cn-north-4.myhuaweicloud.com:443/image.png?token=xxx
  ```
  临时鉴权的方法及各参数的详细解释，请参见《对象存储服务API参考》的[URL中携带签名](https://support.huaweicloud.com/api-obs/obs_04_0011.html)章节。
  **直接分享**
  分享者输入有效期后直接分享链接给用户。用户通过一个签名即可访问文件夹下所有的对象。
  访问文件夹内对象的临时URL是由桶域名（前缀）+对象路径+签名信息（后缀）组成。
  
- 永久共享： 通过将对象权限设置为匿名用户读取权限，通过分享对象URL，匿名用户通过分享的链接地址可访问对象数据。设置权限请参见[对匿名用户授予指定对象的公共读权限](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0033.html)。
  获取对象访问URL请参见[如何获取对象访问路径？](https://support.huaweicloud.com/obs_faq/obs_faq_0031.html)
  操作失败请参见[通过URL访问对象失败](https://support.huaweicloud.com/obs_faq/obs_03_0033.html)进行处理。
  
 
#### 约束与限制
- 临时分享文件夹的URL有效期如下：
  
  | 支持的使用方式                                                                             | 有效期                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  |:---|:---|
  | [管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets) | 取值范围为1分钟到18小时。 当对对象执行"分享"之后，OBS就会以默认5分钟的有效期获取临时鉴权信息，并生成分享链接，此时链接就已经生效并且开始计算时间了。每调整一次URL有效期，OBS就会重新获取一次鉴权信息以生成新的分享链接，新链接的有效期从调整的时候开始计算。 如果想要设置更长的有效期，建议使用客户端工具OBS Browser+，OBS Browser+最长支持1年的有效期。如果想要设置永久的权限，请[通过桶策略向匿名用户授予对象的公共读权限](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0033.html)。                                                                                                                                                                                                       |
  | OBS Browser+                                                                        | - 当使用账号密码登录方式时，分享的有效期最长为24小时，默认10小时。  - 当使用AK/SK登录方式时，分享的有效期最长为1年，默认1天。  - 当使用授权码登录方式时，分享的有效期以分享者设置的分享有效期为准。   |
  | obsutil                                                                             | 通过附加参数"vp"设置生成授权码的有效期，默认值为1天。该参数支持多种时间单位的配置方式，包括：m（月）、w（周）、d（天）、h（小时）、min（分钟）、s（秒）。如果不带时间单位，则该参数为授权码有效的秒数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
     
  
- 仅部分区域支持文件夹分享功能，请以各区域实际情况为准。
- 仅桶版本号为3.0的桶支持文件夹分享功能。查询桶版本号方法请参见[OBS 2.0和OBS 3.0的判断方法](https://support.huaweicloud.com/usermanual-obs/obs_41_0003.html#ZH-CN_TOPIC_0000001946494161__zh-cn_topic_0000001875345461_zh-cn_topic_0176132495_section105141866239)。
- 归档存储对象需在原桶恢复后才能下载。
- 深度归档存储对象需在原桶恢复后才能下载。
 
#### 使用方式
OBS支持通过[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)、OBS Browser+、obsutil方式分享文件夹，不支持通过API、SDK方式分享文件夹。
#### 使用OBS控制台
1. 在OBS[管理控制台](https://console.huaweicloud.com/console/?locale=zh-cn#/obs/manager/buckets)左侧导航栏选择"桶列表"。
2. 在桶列表中，单击待操作的桶，进入"对象"页面。
3. 选中待分享的文件夹，并单击右侧操作列的"分享"。
4. 在"分享文件夹"弹窗，选择分享策略。分享策略有两种：提取码分享、直接分享。
5. 提取码分享。 
   图1提取码分享   
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002132491597.png "点击放大")
   1. 设置相关参数。
      表1提取码分享文件夹参数 
      | 参数     | 说明                                                                                                                                          |
      |:---|:---|
      | URL有效期 | 单位为分钟或小时，URL有效期的取值范围为1分钟到18小时，默认值为5分钟。 在"URL有效期"内，任何用户都可以访问该文件夹。 |
      | 提取码    | 设置提取码。 用户在访问分享链接时，需要输入提取码，才能看到文件夹中的对象。                           |
         
      
   
   2. 单击"创建分享"，生成文件分享URL。
   
   3. 将链接及提取码发送给其他用户，用户通过访问链接并输入提取码以访问文件夹中的对象。
   
   4. 验证：
      1. 其他用户通过网页访问分享的文件夹。
         1. 打开网页，输入分享的URL地址，打开链接。
         
         2. 在页面提示框输入"提取码"并确认，即可访问分享的文件夹。
          
      
      2. 其他用户通过OBS Browser+访问分享的文件夹。
         1. 打开OBS Browser+。
         
         2. 在登录页面选择"授权码登录"。
         
         3. 输入"授权码"和"提取码"。
         
         4. 单击"登录"，即可访问分享的文件夹。
          
       
   
   
   
   
6. 直接分享。 
   图2直接分享   
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002353581500.png "点击放大")
   1. 设置相关参数。
      表2直接分享文件夹参数说明 
      | 参数名称   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
      |:---|:---|
      | URL有效期 | 文件URL的有效时间，超过有效期链接将失效。 - URL有效期范围为1分钟\~18小时，有效期内任何用户都可以通过URL直接访问该对象。如果要分享有效期时长更长的链接，建议使用[OBS Browser+工具](https://support.huaweicloud.com/browsertg-obs/obs_03_1067.html)。  - 该弹窗打开时，链接信息已生效并开始计时，有效期默认为5分钟。修改URL有效期后会重新开始计时，同时链接信息会相应变化，您需要重新复制链接信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
      | 用户协议   | 分享的链接使用的用户协议。 默认为"https"。 - http：适用于对安全性要求不高的场景。  - https：适用于对安全性要求较高的场景。https通过SSL/TLS 协议对数据进行加密传输，保证数据的机密性和完整性；同时会基于证书验证服务器的身份，防止被攻击。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 自定义域名  | 选择分享链接是否使用自定义域名。 - 不使用自定义域名：分享的链接信息为使用桶默认域名拼接成的链接。  - 使用自定义域名：分享的链接信息为使用自定义域名拼接成的链接。 - **由于内容分发网络（CDN）是实现公网的访问加速（任何用户均可访问CDN），因此如果自定义域名开启了CDN加速后，可能会造成分享链接永不超期，即任何用户在任何时间均可以访问文件夹。**  - **如果自定义域名开启了CDN加速且在[配置CDN节点缓存规则](https://support.huaweicloud.com/usermanual-cdn/cdn_01_0116.html#section2)时，配置了忽略URL参数（CDN缓存时忽略请求URL中"?"之后的参数），因为分享链接信息中"?"后面的为鉴权信息，因此鉴权信息被忽略后，分享链接将会失效。**       |
         
      
   
   2. 单击"复制链接"发送给用户，用户通过该链接即可访问文件夹下所有对象。该分享链接由桶域名（前缀）+签名信息（后缀）构成，对该文件夹下所有对象生效。用户可以在分享链接的前缀后面插入对象路径来访问文件夹中的对象，支持访问下载，如[图3]所示。
   
   3. 验证：其他用户通过分享链接访问文件夹下所有对象或某个指定对象。
      1. 打开网页，输入分享的链接（前缀+后缀）。
      
      2. 单击"Enter"键打开链接，列举出文件夹内所有对象。
         图3访问直接分享链接示例图   
         ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002490921473.png "点击放大") 
      
      3. 复制对象路径，然后在前缀后粘贴。
      
      4. 单击"Enter"键打开链接，即可访问下载文件夹中的指定对象。
         图4访问下载文件夹中的对象   
         ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000002457724542.png "点击放大") 
       
   
   
   
   
 
#### 使用图形化工具OBS Browser+
1. 登录OBS Browser+。
2. 选中待配置的对象，单击需要共享的对象右侧的![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000001199510166.png)图标，如下[图5]、[图6]所示。
   
   图5分享文件   
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000001244150161.png "点击放大")
   
   图6分享文件夹   
   ![](https://support.huaweicloud.com/usermanual-obs/figure/zh-cn_image_0000001244110163.png "点击放大")
   
   
   
3. 单击"复制链接"，将该对象链接地址复制到浏览器中打开，即可访问该对象。 
   ![](https://support.huaweicloud.com/usermanual-obs/public_sys-resources/note_3.0-zh-cn.png)
   对于存储类别为归档存储的桶中的对象，如果要让匿名用户通过URL访问，则需要先确认对象的状态是否为"已恢复"。
   基于安全合规要求，华为云对象存储服务OBS禁止通过OBS的默认域名在线预览桶内对象，即使用分享链接从浏览器访问桶内对象（如视频、图片、网页等）时，不会显示对象内容，而是以附件形式下载。解决方案请参考：[如何在浏览器中在线预览OBS中的对象？](https://support.huaweicloud.com/obs_faq/obs_03_0087.html)
   
   
 
#### 使用命令行工具obsutil
使用obsutil指定桶名、对象名前缀和提取码，创建目录分享的授权码。
**命令结构** **：**
- Windows操作系统
  ```
  obsutil create-share obs://bucket[/prefix] [-ac=xxx] [-vp=xxx] [-dst=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
  ```
  
- macOS/Linux操作系统
  ```
  ./obsutil create-share obs://bucket[/prefix] [-ac=xxx] [-vp=xxx] [-dst=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
  ```
  
**运行示例：**
- 以Windows操作系统为例，运行**obsutil create-share obs://bucket/test/ -ac=12345678 -vp=1m** ，创建一个月内有效的授权码。
  ```
  obsutil create-share obs://bucket/test/ -ac=12345678 -vp=1m
  Authorization Code:
  https://e-share.obs-website.cn-north-4.myhuaweicloud.com?
  token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  Access Code:
  12345678
  Valid Until:
  Sat, 26 Oct 2019 11:28:10 GMT +0800
  ```
  
**参数说明：**
| **参数** | **约束**  | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| bucket | 必选      | 桶名                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| prefix | 可选      | 对象名前缀，如果不为空，代表分享以该前缀开头的所有对象；如果为空，代表分享整个桶内的对象。 说明： 设置该值时，建议均以"/"结尾。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ac     | 附加参数，可选 | 提取码。 说明： - 如果未使用该参数传入提取码，obsutil工具会以交互模式提示输入提取码。  - 提取码必须为8位。                                                                                                                   |
| vp     | 附加参数，可选 | 授权码的有效期，以当前时间为基准，默认值为1天，代表生成的授权码将在1天后变为无效。 说明： - 该参数支持多种时间单位的配置方式，包括：m（月）、w（周）、d（天）、h（小时）、min（分钟）、s（秒），例如1d代表一天内有效，2w代表两周内有效，3h代表三个小时内有效。  - 如果不带时间单位，则该参数为授权码有效的秒数，例如3600代表3600秒内有效。   |
| dst    | 附加参数，可选 | 生成授权码的保存路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| config | 附加参数，可选 | 运行当前命令时的自定义配置文件。可支持的配置参数请参考[配置参数说明](https://support.huaweicloud.com/utiltg-obs/obs_11_0035.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| e      | 附加参数，可选 | 指定终端节点。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| i      | 附加参数，可选 | 指定用户的AK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| k      | 附加参数，可选 | 指定用户的SK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| t      | 附加参数，可选 | 指定用户的securitytoken。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
**响应结果：**
| **字段名**            | **描述**  |
|:---|:---|
| Authorization Code | 授权码。    |
| Access Code        | 提取码。    |
| Valid Until        | 有效截止时间。 |
   
