对象存储OSS提供ZIP文件自动解压功能。配置解压规则后,您上传到OSS指定路径的ZIP文件都会被自动解压。

前提条件

已开通函数计算服务。您可以在函数计算的产品详情页面开通函数计算服务。

背景信息

ZIP包解压结合函数计算完成ZIP文件的解压工作,解压流程如下图所示。

匹配解压规则的ZIP文件在上传到OSS后,会自动触发函数计算进行解压。文件解压完成后,会存储至OSS的指定目录中。

注意事项

使用ZIP包解压功能时需注意以下事项:
  • 除华南2(河源)、华南3(广州)、西南1(成都)、华北6(乌兰察布)、中国(香港)、马来西亚(吉隆坡)、阿联酋(迪拜)、英国(伦敦)外,其他地域均已支持ZIP包解压。
  • 建议使用UTF-8或GB 2312编码命名您的文件或文件夹,否则可能会出现解压后的文件或文件夹名称出现乱码、解压过程中断等问题。
  • 归档或冷归档类型的文件需先解冻再解压。
  • 解压单个压缩包的最大时间是10分钟,超过10分钟未完成的任务会解压失败。
  • ZIP包解压功能是增值服务,函数计算会根据解压执行时间计算费用。更多信息,请参见计费方式

配置ZIP包解压规则

  1. 登录OSS管理控制台
  2. 单击Bucket列表,之后单击目标Bucket名称。
  3. 单击数据处理 > ZIP包解压
  4. 单击ZIP包解压,之后在ZIP包解压面板配置ZIP包解压规则。
    • 参数说明
      参数 是否必选 说明
      服务授权 授予函数计算读写OSS和执行函数的权限。

      单击授权按钮,之后按照提示完成授权。

      触发器授权 授予OSS访问函数计算的权限。

      单击授权按钮,之后按照提示完成授权。若已完成授权,此项显示为触发器角色

      前缀 配置触发函数计算的文件前缀。您上传指定前缀的ZIP文件或将ZIP文件上传至指定目录会触发函数计算。置空此项则匹配所有上传的ZIP文件。
      注意 置空此项可能会触发循环执行,建议您配置文件前缀。更多信息,请参见如何避免循环触发?
      目标目录 填写ZIP文件解压后存放的目录。置空此项,函数计算会将ZIP文件解压到当前Bucket的根目录。若您需要在目标目录中保留ZIP文件名,则选中保留压缩文件名为路径目录;若您不需要保留ZIP文件名,直接将解压后的文件存放在目标目录,则选中直接解压到目标目录中。配置详情请参见以下配置示例。
    • 配置示例
      场景 配置方法 解压后的文件结构
      所有上传至zipfolder目录的ZIP包均解压到destfolder目录,不保留ZIP包名称。
      • 前缀设置为zipfolder/
      • 目标目录设置为destfolder
      • 选中直接解压到目标目录中
      bucket  
      ├─── zipfolder/   
      │    ├─── a.zip
      │    └─── b.zip
      └─── destfolder/
           ├─── a.txt
           ├─── b.txt
           └─── ...
      所有上传至zipfolder目录的ZIP包均解压到根目录,保留ZIP包名称。 您需要配置如下参数:
      • 前缀设置为zipfolder/
      • 目标目录设置为空。
      • 选中保留压缩文件名为路径目录
      bucket  
      ├─── zipfolder/   
      │    ├─── a.zip
      │    └─── b.zip
      ├─── a/
      │    ├─── a.txt
      │    └─── ...
      └─── b/
           ├─── b.txt
           └─── ...
      所有上传至zipfolder目录的ZIP包均解压到destfolder目录,保留ZIP包名称。 您需要配置如下参数:
      • 前缀设置为zipfolder/
      • 目标目录设置为destfolder
      • 选中保留压缩文件名为路径目录
      bucket  
      ├─── zipfolder/   
      │    ├─── a.zip
      │    └─── b.zip
      └─── destfolder/
           ├─── a/
           │    ├─── a.txt
           │    └─── ...
           └─── b/
                ├─── b.txt
                └─── ...
  5. 选中我已知晓并同意开通函数计算,通过函数计算处理压缩文件。压缩文件里面的文件名或文件夹名不支持非UTF-8或GB 2312编码后,单击确定

修改ZIP包解压配置

您可以根据自己的需求随时修改ZIP包解压的配置。

  • 修改前缀
    1. 进入ZIP包解压页签。
    2. 单击目标触发器右侧的编辑跳转到函数计算控制台。
    3. 在弹出的修改触发器面板修改触发规则区域的前缀,其他参数建议保持默认。
    4. 单击确定
  • 修改函数计算配置
    1. 进入ZIP包解压页签。
    2. 单击目标触发器右侧的编辑跳转到函数计算控制台。
    3. 在弹出的修改触发器面板单击取消
    4. 单击概览页签,之后单击修改配置
    5. 在弹出的配置函数页面修改函数配置。
      您可以根据实际需求修改函数执行内存超时时间环境变量
      • 函数执行内存:根据您处理的文件大小来选择,若您的ZIP文件较小,可以选择更小规格的函数执行内存来节省费用。
      • 超时时间:函数在规定时间内未能执行,函数计算会返回超时错误。建议配置合适的超时时间,避免函数执行超时。
      • 环境变量:修改此项的值会修改解压文件的目标目录。
    6. 单击提交

删除ZIP包解压规则

对于不需要的ZIP包解压规则,您可以手动删除。

  1. 进入ZIP包解压页签。
  2. 单击目标触发器右侧的编辑跳转到函数计算控制台。
  3. 在弹出的修改触发器面板单击取消
  4. 单击触发器页签,之后单击目标触发器右侧的删除
  5. 在弹出的对话框单击确定