更新时间:2024-10-24 GMT+08:00

在线解压

OBS支持ZIP包上传后自动解压并存放在指定目录。

当您需要一次性上传大量的小文件时,可以将所有文件打包成ZIP包,上传之后压缩包可以自动解压,省时省力。OBS批量上传文件时有一些限制,参见OBS批量上传文件

成功创建在线解压策略后,您上传到OBS的ZIP包如果能匹配解压策略,则会自动解压。创建策略前已存在的ZIP包不受影响。

您可以新建在线解压策略,也可以从其他桶复制已有在线解压策略。

前提条件

使用在线解压特性的账号或子账号应具备Tenant administrator的用户角色。

约束与限制

权限限制:

  • 需要使用IAM增加Tenant Administrator权限后才能设置、获取、删除在线解压策略。
  • 在线解压源需使用IAM创建云服务委托,委托OBS获取桶内数据,上传数据到桶内。委托需要给OBS服务授予obs:object:PutObject、obs:object:GetObject、obs:object:AbortMultipartUpload权限。

区域限制:

包及文件大小限制:

  • 单个ZIP包大小上限为1GB
  • 单个ZIP包内最多可包含65536个文件。
  • ZIP包内,单个文件解压后最大为40GB。

时间限制:

  • ZIP包解压任务最大时长为10分钟。

功能限制:

  • ZIP包的后缀必须为zip。
  • ZIP包名称中不可带有中文标点符号、特殊符号和特殊编码。
  • 针对ZIP包嵌套的场景,在线解压策略的事件类型需设置为ObjectCreated:*或ObjectCreated:CompleteMultipartUpload。
  • 目前不支持解压任务完成后给用户发送消息通知。
  • 目前仅支持解压压缩算法为deflated的ZIP包,此处的压缩算法与WINRAR等软件提供的Store、Normal等压缩方法不等同。
  • 解压路径加上压缩包解压出文件的文件名,总字符长度不可超过512,否则会导致解压失败。
  • 目前不支持解压加密ZIP包。
  • 不支持企业联邦用户使用在线解压功能,更多关于联邦用户的相关信息请参考华为云账号、华为账号、IAM用户、企业联邦用户的关系身份提供商概述

注意事项

  • 建议设置精准的前缀,同一个桶下的不同触发条件不能包含或重叠,触发条件指策略配置项中的事件、前缀以及后缀。

    例如,同一个桶下的两个解压策略event-0001和event-0002,假设event-0001的前缀配置为aa,则event-0002的前缀不可配置为aaaa,因为两者具有包含关系。

  • 当前缀置空时,解压策略将默认匹配该桶下的全部ZIP包,可能会触发循环执行。

    例如,ZIP包“AA.zip”中包含ZIP包“BB.zip”。如果前缀置空,当"AA.zip"解压完成后,系统会继续对解压出的"BB.zip"进行解压。设置前缀可以规避该问题。

  • 目标目录:ZIP包解压生成文件的存放目录,如果不设置,函数计算会将生成的文件存放到当前桶的主目录下。
  • 如果ZIP包中包含非UTF-8或GB 2312编码的文件名或文件夹(文件目录)名,可能导致解压生成文件的文件名或文件目录名出现乱码、解压过程中断等情况,请使用UTF-8或GB 2312编码命名您的文件或文件目录。
  • 上传归档存储的ZIP包,不会触发ZIP包解压,如果桶已开启归档数据直读功能,则可以触发ZIP包解压。上传深度归档存储的ZIP包,不会触发ZIP包解压。
  • ZIP包解压处理单个压缩包的最长处理时间是10分钟,超过10分钟未完成会解压失败。

新建在线解压策略

OBS支持通过控制台、API方式新建在线解压策略,不支持通过SDK、OBS Browser+、obsutil方式新建在线解压策略。

复制在线解压策略

OBS支持通过控制台方式复制在线解压策略,不支持通过API、SDK、OBS Browser+、obsutil方式复制在线解压策略。

  1. OBS管理控制台左侧导航栏选择“对象存储”
  2. 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。
  3. 在左侧导航栏单击“数据处理>在线解压”,进入“在线解压”页面。
  4. 单击“复制”。
  5. 选择复制源,即在线解压策略所在的源桶。

    • 从源桶复在线解压策略的操作为增量复制,不会删除当前桶已存在的在线解压策略,与已存在的在线解压策略冲突的策略不会复制。
    • 源桶和目标桶的桶版本号都必须是3.0。
    • 您可以按需移除不需要复制的在线解压策略。
    • 单桶在线解压策略上限为10条,如果已有策略+复制策略的数量超过上限,将会复制失败,请先删除多余策略再进行复制。
    图2 复制在线解压策略

  6. 单击“确定”,将源桶的在线解压策略复制到当前桶。