操作场景
   本章节指导用户如何修改桶和对象的存储类别。
   
  
   约束与限制
   
    - 桶存储类别仅支持手动修改。对象存储类别支持手动修改和使用生命周期自动转换。
 
    - 转换存储类别时数据冗余策略保持不变。如果桶或对象是多AZ,那么只能转换成支持多AZ的存储类型(标准存储、低频访问存储支持多AZ)。例如,对象A是多AZ标准存储,那么对象A可以转为低频访问存储,但不能转换为归档存储,因为归档存储不支持多AZ。
 
   
   
  
   手动转换桶存储类别
   对于桶存储类别,OBS支持任意两个存储类别之间的手动转换。桶存储类别不支持使用生命周期完成自动转换。
   
   
  OBS支持使用控制台、API、OBS SDK和obsutil共4种方式修改桶存储类别。
  
   
    
     
使用OBS控制台
    
    
     
      - 在OBS管理控制台左侧导航栏选择“对象存储”。
 
      - 在桶列表中,选择待修改存储类别的桶,并单击右侧操作栏的“修改存储类别”。
 
      - 选择存储类别,单击“确定”。
       
       
        图1 手动修改桶存储类别
        
        
        
     
     
    
   
  
  
  
   
    
     
使用命令行工具obsutil
    
    
     命名结构
     
      - Windows操作系统 
       
obsutil chattri obs://bucket [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
 
      - macOS/Linux操作系统 
       
./obsutil chattri obs://bucket [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
 
     
     运行示例
     
      以Windows操作系统为例,运行
obsutil chattri obs://bucket-test -sc=standard,修改桶的存储类别为标准存储类别。 
      
obsutil chattri obs://bucket-test -sc=standard
Start at 2024-09-29 07:58:46.0506904 +0000 UTC
Set the sc of bucket [bucket-test] to [standard] successfully, request id [04050000016836C5DA6FB21F14A2A0C0]
      
     参数说明
     
      
       
        
         | 
           参数  | 
         
           约束  | 
         
           描述  | 
        
       
       
        
         | 
           bucket  | 
         
           必选  | 
         
           需要转换存储类别的桶的名称。  | 
        
        
         | 
           sc  | 
         
           附加参数,可选  | 
         
           桶的存储类别。 
          不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。 
          支持的值: 
          
           - standard:标准存储,访问时延低、吞吐量高,适用于有大量热点文件(平均一个月多次)或小文件(小于1MB)。
 
           - warm:低频访问存储,可用性略低于standard,适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景。
 
           - cold:归档存储,安全、持久且成本极低,适用于很少访问(平均一年访问一次)数据的业务场景。
 
           - deep-archive:深度归档存储(受限公测),适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据恢复时间将更长,一般为数小时。
 
            | 
        
        
         | 
           acl  | 
         
           附加参数,可选  | 
         
           桶的预定义访问策略。支持的值: 
          
           - private:私有读写,除桶ACL授权外的其他用户无桶的访问权限。
 
           - public-read:公共读,何用户都可以对桶内对象进行读操作。
 
           - public-read-write:公共读写,任何用户都可以对桶内对象进行读/写/删除操作。
 
            | 
        
        
         | 
           aclXml  | 
         
           附加参数,可选  | 
         
           桶的访问策略(xml格式表示)。 
          <AccessControlPolicy>
    <Owner>
        <ID>ownerid</ID>
    </Owner>
    <AccessControlList>
        <Grant>
            <Grantee>
                <ID>userid</ID>
            </Grantee>
            <Permission>[WRITE|WRITE_ACP|READ|READ_ACP|FULL_CONTROL]</Permission>
        </Grant>
        <Grant>
            <Grantee>
                <Canned>Everyone</Canned>
            </Grantee>
            <Permission>[WRITE|WRITE_ACP|READ|READ_ACP|FULL_CONTROL]</Permission>
        </Grant>
    </AccessControlList>
</AccessControlPolicy>
          
           - Owner节点为可选,指定桶拥有者ID。
 
           - AccessControlList节点下的Grant子节点包含被授权的用户列表,Grantee子节点指定被授权用户的ID,Canned子节点指定被授权的用户组(当前仅支持Everyone)。
 
           - 可支持被授予的权限有:WRITE(写权限)、WRITE_ACP(写ACL权限)、READ(读权限)、READ_ACP(读ACL权限)和FULL_CONTROL(完全控制权限)。
 
           
          由于该参数值必定含有“<”和“>”,作为命令运行时,必须使用引号转义(macOS/Linux操作系统使用单引号,Windows操作系统使用双引号)。  | 
        
        
         | 
           config  | 
         
           附加参数,可选  | 
         
           运行当前命令时的自定义配置文件,可支持的配置参数请参考配置参数说明。  | 
        
        
         | 
           e  | 
         
           附加参数,可选  | 
         
           指定终端节点。  | 
        
        
         | 
           i  | 
         
           附加参数,可选  | 
         
           指定用户的AK。  | 
        
        
         | 
           k  | 
         
           附加参数,可选  | 
         
           指定用户的SK。  | 
        
        
         | 
           t  | 
         
           附加参数,可选  | 
         
           指定用户的securitytoken。  | 
        
       
      
      
     
    
   
  
   手动转换对象存储类别
   对于对象存储类别,OBS支持任意两个存储类别之间的手动转换,但转换归档存储、深度归档存储对象的存储类别时,需要先手动恢复,然后再转换。除手动转换外,OBS还支持通过生命周期自动转换对象存储类别。
   
   
  OBS支持使用控制台、API、OBS SDK、OBS Browser+和obsutil共5种方式修改对象的存储类别。
  
   
    
     
使用OBS控制台
    
    
     
      - 在OBS管理控制台左侧导航栏选择“对象存储”。
 
      - 在桶列表单击待操作的桶,进入“对象”页面。
 
      - 如果需要修改的对象存储类别为归档存储或深度归档存储,请先执行恢复操作,详细操作步骤参见恢复归档和深度归档存储对象。
 
      - 修改对象存储类别支持单个修改和批量修改。
       
       
        - 单个修改:在对象列表中,选择待修改存储类别的对象,并单击右侧操作栏的“更多>修改存储类别”,如图2所示。 
         
          图2 单个修改对象存储类别
          
          
           
        - 批量修改:在对象列表中,勾选待修改存储类别的对象,并单击上方的“更多>修改存储类别”按钮,如图3所示。 
         
          
 
          
           批量修改对象存储类别当前部分区域支持,请以管理控制台实际情况为准。
           
          
         
          图3 批量修改对象存储类别
          
          
           
       
        
      - 选择存储类别,单击“确定”。
       
       
        图4 选择对象存储类别
        
        
        
     
     
    
   
  
   
    
     
使用API
    
    
     OBS有2个API接口支持手动转换对象存储类别的方式:
     
      
 
      
       如果要修改对象的原有存储类别是归档存储或者深度归档存储,那么都需要先调用恢复归档和深度归档存储对象接口完成恢复后,才能转换对象的存储类别。
       
      
     
      - 修改对象元数据(添加x-obs-storage-class头域设置)
 
      - 复制对象(添加x-obs-storage-class头域设置),在桶的多版本控制开启时,OBS将会为新复制生成的对象自动生成唯一的版本ID。在未开启或暂停多版本控制的桶中,新复制生成的对象会覆盖原有对象。
 
     
     
    
   
  
   
    
     
使用SDK
    
    
     
      
 
      
       如果要修改对象的原有存储类别是归档存储或者深度归档存储,那么都需要先调用恢复对象接口完成恢复后,才能转换对象的存储类别。
       
      
     
     
    
   
  
   
    
     
使用图形化工具OBS Browser+
    
    
     
      - 登录OBS Browser+。
 
      - 选中待修改对象所在的桶,进入对象页面。
 
      - 如果需要修改的对象存储类别为归档或深度归档存储,请右键单击选中待修改的对象,单击“恢复对象”,恢复完成后继续执行4。
 
      - 右键单击选中待修改的对象,单击“修改存储类别”。
 
      - 选择目标存储类别,然后单击“确认”。
 
     
     
    
   
  
   
    
     
使用命令行工具obsutil
    
    
     obsutil支持通过修对象属性的方式修改对象存储类别。
     
      
 
      
       如果要修改对象的存储类别为归档存储或者深度归档存储,那么需要恢复对象后,才能转换对象的存储类别。恢复对象的命令请参见恢复对象。
       
      
     
      - Windows操作系统 
       
        - 设置单个对象属性 
         
obsutil chattri obs://bucket/key [-meta=aaa:bbb#ccc:ddd] [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-versionId=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
 
        - 批量设置对象属性 
         
obsutil chattri obs://bucket[/key] -r [-f] [-v] [-meta=aaa:bbb#ccc:ddd] [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-o=xxx] [-j=1] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
 
       
 
      - macOS/Linux操作系统 
       
        - 设置单个对象属性 
         
./obsutil chattri obs://bucket/key [-meta=aaa:bbb#ccc:ddd] [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-versionId=xxx] [-fr] [-o=xxx] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
 
        - 批量设置对象属性 
         
./obsutil chattri obs://bucket[/key] -r [-f] [-v] [-meta=aaa:bbb#ccc:ddd] [-sc=xxx] [-acl=xxx] [-aclXml=xxx] [-o=xxx] [-j=1] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
 
       
 
     
     运行示例
     
     
      - 以Windows操作系统为例,运行obsutil chattri obs://bucket-test -r -f -sc=standard,批量设置桶内所有对象的存储类别为标准存储类别。 
       
obsutil chattri obs://bucket-test -r -f -sc=standard
Start at 2024-09-30 08:18:03.105373 +0000 UTC
[------------------------------------------------] 100.00% tps:155.15 5/5 233ms
Succeed count:   5         Failed count:    0
Metrics [max cost:177 ms, min cost:53 ms, average cost:102.40 ms, average tps:20.41]
Task id: 9d7f73ff-f747-4fdd-9b2a-815ba2dc3b07
 
     
     参数说明
     
      
       
        
         | 
           参数  | 
         
           约束  | 
         
           描述  | 
        
       
       
        
         | 
           bucket  | 
         
           必选  | 
         
           需要转换存储类别的对象所属的桶名称。  | 
        
        
         | 
           key  | 
         
           设置单个对象属性时必选 
          批量设置对象属性时可选  | 
         
           待设置属性的对象名,或批量设置对象属性时的对象名前缀。 
          批量设置对象属性时,如果该值为空,则表示设置桶内所有对象的属性。  | 
        
        
         | 
           meta  | 
         
           附加参数,可选  | 
         
           复制对象时可指定的目标对象的标准和自定义元数据。 
          
           - 标准元数据包括:Content-Type、Content-Encoding、Cache-Control、Content-Disposition、Content-Language、Expires。
 
           - 自定义元数据格式为:key1:value1#key2:value2#key3:value3。表示复制对象完成后,桶内目标对象包含三组自定义元数据,分别为:key1:value1、key2:value2、key3:value3。
 
           
          该参数需要与direct搭配使用才会生效。  | 
        
        
         | 
           direct  | 
         
           附加参数,可选  | 
         
           元数据操作指示符。 
          取值为: 
          REPLACE_NEW:对于已经存在值的元数据进行替换,不存在值的元数据进行赋值,未指定的元数据保持不变。 
          REPLACE:使用当前请求中携带的头域完整替换,未指定的元数据会被删除。 
          该参数需要与meta搭配使用才会生效。  | 
        
        
         | 
           sc  | 
         
           附加参数,可选  | 
         
           对象的存储类别。 
          支持的值: 
          
           - standard:标准存储,访问时延低、吞吐量高,适用于有大量热点文件(平均一个月多次)或小文件(小于1MB)。
 
           - warm:低频访问存储,,可用性略低于standard,适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景。
 
           - cold:归档存储,,安全、持久且成本极低,适用于很少访问(平均一年访问一次)数据的业务场景。存储类别为cold的对象,必须先恢复该对象再修改其存储类别,否则无法修改成功。
 
           - deep-archive:深度归档存储(受限公测),适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据恢复时间将更长,一般为数小时。
 
            | 
        
        
         | 
           acl  | 
         
           附加参数,可选  | 
         
           对象的预定义访问策略。 
          支持的值: 
          
           - private:私有读写,除对象ACL授权外的其他用户无桶的访问权限。
 
           - public-read:公共读,任何用户都可以对桶内对象进行读操作。
 
           - public-read-write:公共读写,任何用户都可以对桶内对象进行读/写/删除操作。
 
           - bucket-owner-full-control:桶拥有者完全控制,其他任何人都没有访问权限。
 
            | 
        
        
         | 
           aclXml  | 
         
           附加参数,可选  | 
         
           桶的访问策略(xml格式表示)。 
          格式如下: 
          <AccessControlPolicy>
    <Owner>
        <ID>ownerid</ID>
    </Owner>
    <AccessControlList>
        <Grant>
            <Grantee>
                <ID>userid</ID>
            </Grantee>
            <Permission>[WRITE|WRITE_ACP|READ|READ_ACP|FULL_CONTROL]</Permission>
        </Grant>
        <Grant>
            <Grantee>
                <Canned>Everyone</Canned>
            </Grantee>
            <Permission>[WRITE|WRITE_ACP|READ|READ_ACP|FULL_CONTROL]</Permission>
        </Grant>
    </AccessControlList>
</AccessControlPolicy>
          
           - “Owner”为可选,指定对象拥有者ID。
 
           - “AccessControlList”下的“Grant”表示被授权的用户列表,“Grantee”表示被授权用户的ID,“Canned”表示被授权的用户组(当前仅支持Everyone)。
 
           - “Permission”可支持被授予的权限有:WRITE(写权限)、WRITE_ACP(写ACL权限)、READ(读权限)、READ_ACP(读ACL权限)和FULL_CONTROL(完全控制权限)。
 
           
          由于该参数值必定含有“<”和“>”,因此作为命令运行时,必须使用引号转义:macOS/Linux操作系统使用单引号,Windows操作系统使用双引号。  | 
        
        
         | 
           fs  | 
         
           附加参数,可选  | 
         
           是否使用并行文件系统的列举方式,如果桶是并行文件系统,推荐加上该参数。 
          
           - 该列举方式会因为目录结构而耗时较大。
 
           - 该参数开启后,会忽略marker和limit值,统计桶/并行文件系统或指定目录的大小。
 
           - Util 5.5.12版本及以上支持该参数。
 
            | 
        
        
         | 
           versionId  | 
         
           附加参数,设置单个对象属性时可选  | 
         
           待设置属性对象的版本号。  | 
        
        
         | 
           fr  | 
         
           附加参数,设置单个对象属性时可选  | 
         
           设置单个对象属性时生成结果清单文件。  | 
        
        
         | 
           f  | 
         
           附加参数,批量设置对象属性时可选  | 
         
           强制操作,不进行询问提示。  | 
        
        
         | 
           r  | 
         
           附加参数,批量设置对象属性时必选  | 
         
           按指定的对象名前缀批量设置对象属性。  | 
        
        
         | 
           v  | 
         
           附加参数,批量设置对象属性时可选  | 
         
           按指定的对象名前缀批量设置多版本对象属性。  | 
        
        
         | 
           o  | 
         
           附加参数,可选  | 
         
           生成结果清单文件的文件夹,命令执行完成后,会在该文件夹下生成结果清单文件(可能包含成功结果、失败结果、警告结果三个文件)。 
          默认为运行obsutil命令的用户目录的子文件夹.obsutil_output。 
          
           - 结果清单文件命名规则:cp_{succeed | failed | warning}_report_时间_TaskId.txt。
 
           - 单个结果清单文件默认情况下最大为30MB,可在配置文件中通过recordMaxLogSize分别配置。
 
           - 单个结果清单文件默认情况下最多可保留1024个文件,可在配置文件中通过recordBackups分别配置。
 
           - 当涉及多文件/文件夹时,如需确认失败任务的具体错误信息,可参考结果清单文件夹下的失败结果清单文件“cp_failed_report_时间_TaskId.txt”和日志路径下的日志文件。
 
            | 
        
        
         | 
           j  | 
         
           附加参数,批量设置对象属性时可选  | 
         
           批量设置对象属性的最大并发数,默认为配置文件中的defaultJobs。 
           | 
        
        
         | 
           config  | 
         
           附加参数,可选  | 
         
           运行当前命令时的自定义配置文件,可支持的配置参数请参考配置参数说明。。  | 
        
        
         | 
           e  | 
         
           附加参数,可选  | 
         
           指定终端节点。  | 
        
        
         | 
           i  | 
         
           附加参数,可选  | 
         
           指定用户的AK。  | 
        
        
         | 
           k  | 
         
           附加参数,可选  | 
         
           指定用户的SK。  | 
        
        
         | 
           t  | 
         
           附加参数,可选  | 
         
           指定用户的securitytoken。  | 
        
       
      
      
     
    
   
  
   
   通过生命周期自动转换对象存储类别
   OBS支持通过生命周期功能实现存储类别自动转换,以降低存储成本。归档和深度归档存储不支持多AZ,因此不支持使用生命周期将多AZ对象的存储类别转化为归档或深度归档存储。更多生命周期相关内容请参见使用生命周期转换对象存储类别。
   注意,桶未开启多版本控制时,生命周期转换的计时起点是对象的上传时间点。桶开启多版本控制时,最新版本的的计时起点是新版本对象的上传时间点,历史版本的计时起点是成为历史版本的时间点。
   
    图5 使用生命周期转换对象存储类别
    
    
   如图所示,OBS支持通过生命周期实现以下场景的存储类别自动转换:
   
    - 标准存储->低频访问存储、归档存储、深度归档存储
 
    - 低频访问存储->归档存储、深度归档存储
 
    - 归档存储->深度归档存储 
     
      
 
      
       
        - 如果对象是低频、归档或深度归档存储对象,那么转换过程中可能会涉及不满最低存储时间而产生的存储费用。
 
       
       
       
   
   
  OBS支持使用控制台、API、OBS SDK、OBS Browser+共4种方式在创建桶时设置桶的存储类别。
  
   
    
     
使用OBS控制台
    
    
     
      - 在OBS管理控制台左侧导航栏选择“对象存储”。
 
      - 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
 
      - 在左侧导航栏单击“数据管理 > 生命周期规则”,进入“生命周期规则”界面。
 
      - 单击“创建”,系统弹出创建生命周期规则对话框。
 
      - 配置“基本信息”。
       
       

       
        
         
          表1 “基本信息”参数说明
         
         
          
           | 
             参数名称  | 
           
             说明  | 
          
         
         
          
           | 
             状态  | 
           
             是否启用生命周期规则。 
            
             - 开关开启,启用生命周期规则,受规则影响的对象将在指定天数后转换存储类别/自动删除/删除碎片/清理无历史版本的删除标记。
 
             - 开关关闭,表示不启用生命周期规则。
 
              | 
          
          
           | 
             规则名称  | 
           
             生命周期规则的名称。 
            命名规则如下: 
            
             - 长度不超过255个字符。
 
             - 只能由大写或小写的英文字母、数字、英文句号(.)、下划线(_)和连字符(-)组成。
 
              | 
          
          
           | 
             范围  | 
           
             使用对象名称作为筛选条件,明确生命周期规则适用的对象范围。 
            
             - 对象前缀:配置对象前缀后,桶内满足该前缀的对象将受生命周期规则管理。
 
             - 所有对象:桶内所有对象都将受生命周期规则管理。
 
             
            配置范围时,需要注意多条生命周期规则之间重叠的情况,重叠的规则必须要满足重叠规则约束,否则将会因规则冲突导致生命周期规则配置失败。  | 
          
          
           | 
             前缀  | 
           
             当范围选择“对象前缀”时,需配置对象名称前缀,表示桶内满足该前缀的对象将受生命周期规则管理。 
            对象名前缀规则: 
            
             - 不能包括\:*?"<>|特殊字符。
 
             - 不能以/开头。
 
             - 不能两个/相邻。
 
              | 
          
          
           | 
             标签  | 
           
             可选参数。 
            使用对象标签作为筛选条件,携带该标签的对象将受生命周期规则管理。 
            支持最多配置10个标签筛选条件。 
            使用对象标签作为筛选条件后,无法启用“碎片过期删除规则设置”和“清理无历史版本的删除标记”。 
            关于给对象添加标签,详情请参见对象标签。  | 
          
         
        
        
        
      - 配置“当前版本”和“历史版本”,指定在对象最后一次更新多少天后转换对象存储类别或删除对象。
       
       

       “历史版本”配置项默认不展示,只有当桶开启过“多版本控制”,即多版本控制状态为“已启用”或“暂停”时才会展示。
       
        
         
          表2 “当前版本”和“历史版本”的配置项
         
         
          
           | 
             配置项  | 
           
             说明  | 
          
         
         
          
           | 
             状态  | 
           
             是否启用“当前版本”或“历史版本”的配置。 
            
             - 开关打开,表示启用配置,最多配置4条记录。
 
             - 开关关闭,表示不启用配置。
 
              | 
          
          
           | 
             低频访问存储  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象的存储类别将转换为低频访问存储。  | 
          
          
           | 
             归档存储  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象的存储类别将转换为归档存储。 
            
             - 如果同时设置转换为低频访问存储和转换为归档存储,则转换为归档存储的时间要比转换为低频访问存储的时间长。
 
             - 如果单独设置转换为归档存储,则没有时间限制。
 
              | 
          
          
           | 
             深度归档存储  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象的存储类别将转换为深度归档存储。 
            
             - 如果同时设置转换为低频访问存储和转换为深度归档存储,则转换为深度归档存储的时间要比转换为低频访问存储的时间长。
 
             - 如果同时设置转换为归档存储和转换为深度归档存储,则转换为深度归档存储的时间要比转换为归档存储的时间长。
 
             - 如果单独设置转换为深度归档存储,则没有时间限制。
 
              | 
          
          
           | 
             过期删除  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象将被自动OBS删除。 
            过期时间必须大于转换存储类别时间的最大值,且必须为整数。 
            当桶未启用多版本控制时,对象在过期时间后被删除,将无法找回,请谨慎设置。  | 
          
         
        
        
       转换对象存储类别或删除对象会涉及费用变化,具体如下:
       
        - 由于删除对象会减少存储用量以及不同存储类别之间存在价格差异,因此费用也会发生变化。
 
        - 低频访问存储、归档存储或深度归档存储类别对象,分别有30天、90天、180天最低存储时间限制,早于最低存储时间删除对象或转换存储类别,需要补足剩余天数的存储费用。
 
        - 通过生命周期转存储类别时,会产生对应的请求次数费用。
 
        - 关于生命周期规则计费,请参见特殊场景计费。
 
       
       
        
 
        
         
          - “当前版本”与“历史版本”是针对“多版本控制”而言的。如果开启了“多版本控制”功能,同名的对象上传到同一路径下时,则会产生不同的版本号。最新版本的对象称之为“当前版本”,历史时间上传的对象称之为“历史版本”。当前版本和历史版本的详细介绍请参见多版本控制。
 
          - “当前版本”与“历史版本”至少配置一个,也可以两个同时配置。
 
         
         
        
        
      - 配置“碎片过期规则设置”,指定碎片在产生多少天后被删除。
       
       

       
        - 状态:是否启用“碎片过期规则设置”。开关打开,表示启用配置;开关关闭,表示不启用配置。
 
        - 设置天数:指定桶内碎片在产生后多少天自动被删除。
 
       
       
        
 
        
         桶中不完整的数据被称为碎片,碎片通常是由于数据上传失败而产生。
         
        
        
      - 配置“清理无历史版本的删除标记”。
       
       

       无历史版本的删除标记是指对象的所有历史版本被删除后,对象仅剩余的1个删除标记。此操作将清理该删除标记,清理后有利于提高性能。
       状态:是否启用“清理无历史版本的删除标记”。开关打开,表示启用;开关关闭,表示不启用。
        
      - 勾选“我已确认以上生命周期规则设置,以及可能会产生的费用。”。
 
      - 单击“确定”,完成生命周期规则配置。
 
     
     
    
   
  
  
  
   
    
     
使用图形化工具OBS Browser+
    
    
     
      - 登录OBS Browser+。
 
      - 选中待配置的桶,单击“更多 > 生命周期规则”。
 
      - 在“生命周期规则”窗口中单击“创建”。
       
       
       
 
      - 配置生命周期规则。
       
       
        
         
          表3 生命周期规则参数说明
         
         
          
           | 
             参数名称  | 
           
             说明  | 
          
         
         
          
           | 
             状态  | 
           
             是否启用生命周期规则。 
            
             - 开关开启,启用生命周期规则,受规则影响的对象将在指定天数后转换存储类别/自动删除。
 
             - 开关关闭,表示不启用生命周期规则。
 
              | 
          
          
           | 
             规则名称  | 
           
             生命周期规则的名称。 
            命名规则如下: 
            
             - 长度不超过255个字符。
 
             - 只能由大写或小写的英文字母、数字、英文句号(.)、下划线(_)和连字符(-)组成。
 
              | 
          
          
           | 
             策略  | 
           
             使用对象名称作为筛选条件,明确生命周期规则适用的对象范围。 
            
             - 按前缀配置:配置对象前缀后,桶内满足该前缀的对象将受生命周期规则管理。
 
             - 配置到整个桶:桶内所有对象都将受生命周期规则管理。
 
             
            选择策略时,需要注意以下情况可能配置不成功: 
            
             - 当按前缀配置时,如果指定的前缀名与某条已配置的生命周期规则指定的前缀名存在包含关系,OBS会将两条规则视为同一条,而禁止您配置本条规则。例如,系统中已存在指定前缀名为“abc”的规则,则不允许再配置指定前缀包含“abc”字段的规则。
 
             - 如果已存在按前缀配置的生命周期规则,则不允许再新增配置到整个桶的规则。
 
             - 如果已存在配置到整个桶的生命周期规则,则不允许再新增按前缀配置的规则,此时界面的“创建”按钮会变成灰色,表示不可操作。
 
              | 
          
          
           | 
             前缀  | 
           
             当范围选择“按前缀配置”时,需配置对象名称前缀,表示桶内满足该前缀的对象将受生命周期规则管理。 
            对象名前缀规则: 
            
             - 不能包括\:*?"<>|特殊字符。
 
             - 不能以/开头。
 
             - 不能两个/相邻。
 
              | 
          
          
           | 
             转换为低频访问存储  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象的存储类别将转换为低频访问存储。  | 
          
          
           | 
             转换为归档存储  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象的存储类别将转换为归档存储。 
            
             - 如果同时设置转换为低频访问存储和转换为归档存储,则转换为归档存储的时间要比转换为低频访问存储的时间长。
 
             - 如果单独设置转换为归档存储,则没有时间限制。
 
              | 
          
          
           | 
             过期删除  | 
           
             指定在对象最后一次更新后多少天,受规则影响的对象将被自动OBS删除。 
            过期时间必须大于转换存储类别时间的最大值,且必须为整数。 
            当桶未启用多版本控制时,对象在过期时间后被删除,将无法找回,请谨慎设置。  | 
          
         
        
        
       例如:
       您于2022年1月7日在OBS中存储了以下几个文件:
       
        - log/test1.log
 
        - log/test2.log
 
        - doc/example.doc
 
        - doc/good.txt
 
       
       您又于2022年1月10日在OBS中存储了以下几个文件:
       
        - log/clientlog.log
 
        - log/serverlog.log
 
        - doc/work.doc
 
        - doc/travel.txt 
         
在2022年1月10日设置前缀为“log/”的对象,过期删除时间设置为一天,OBS将会在2022年1月12日自动删除“log/clientlog.log”、“log/serverlog.log”、“log/test1.log”和“log/test2.log”这四个对象。
         在某天设置前缀为“log”的对象,转换为低频访问存储的时间设置为30天,转换为归档存储的时间设置为60天,过期删除的时间设置为100天,OBS将会第31天将“log/clientlog.log”、“log/serverlog.log”、“log/test1.log”和“log/test2.log”这四个对象转换为低频访问存储,第61天后转换为归档存储,第101天后自动删除这些对象。
 
       
        
      - 在“生命周期管理”对话框中单击“确认”,保存当前的生命周期规则。
 
     
     
    
   
  
   转换存储类别相关注意事项
   
    - 最小计量空间
     
对于小于64 KB的对象,会按照64 KB计算空间大小。
 
    - 最低存储时间
     
最低存储时间是指对象的计费时间下限。对象存储时间小于最低存储时间时,将按照最低存储时间计费。例如,一个低频访问存储对象在OBS中存储了20天后转换为归档存储,会按照30天计费。
     
      
       
        
         | 
           对比项目  | 
         
           标准存储  | 
         
           低频访问存储  | 
         
           归档存储  | 
         
           深度归档存储(受限公测)  | 
        
       
       
        
         | 
           最低存储时间  | 
         
           无  | 
         
           30天  | 
         
           90天  | 
         
           180天  | 
        
       
      
       
    - 对象恢复时间
     
归档存储、深度归档存储类型的对象恢复需要一定的恢复时间,如果业务场景需要实时读对象,那么不建议将对象转换成归档存储、深度归档存储类别。
     
      
       
        表4 对象恢复时间
       
       
        
         | 
           恢复方式  | 
         
           归档存储恢复耗时  | 
         
           深度归档存储恢复耗时  | 
        
       
       
        
         | 
           标准  | 
         
           3~5 h  | 
         
           5~12 h  | 
        
        
         | 
           加急  | 
         
           1~5 min  | 
         
           3~5 h  | 
        
       
      
       
    - 数据恢复相关费用
     
      
       
        表5 数据恢复费用说明
       
       
        
         | 
           操作名称  | 
         
           产生费用类别  | 
         
           费用说明  | 
        
       
       
        
         | 
           低频访问存储对象恢复  | 
         
           请求费用  | 
         
           按恢复成功的对象数计算请求次数,产生请求费用。 
          恢复成功N个对象,记录N次请求。  | 
        
        
         | 
           流量费用  | 
         
           数据恢复的流量费用。  | 
        
        
         | 
           归档存储或深度归档对象恢复  | 
         
           请求费用  | 
         
           按恢复成功的对象数计算请求次数,产生请求费用。 
          恢复成功N个对象,记录N次请求。  | 
        
        
         | 
           流量费用  | 
         
           数据恢复的流量费用。  | 
        
        
         | 
           临时文件存储费用  | 
         
           数据恢复后,会产生一个标准存储类型的对象副本,即对象同时存在标准存储类型的对象副本和原有的归档存储或深度归档存储对象。在恢复的有效期内,会同时收取这份数据在标准存储和归档存储或深度归档存储中的存储费用。恢复有效期到期后标准存储类型的对象副本会自动删除。  |