控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

诚邀爱技术、爱分享的你,成为文档内容共建者> HOT

简介

ZIP 文件解压功能是腾讯云对象存储(Cloud Object Storage,COS)基于 云函数(Serverless Cloud Function,SCF) 为用户提供的数据处理解决方案。用户为存储桶添加 ZIP 文件解压规则后,当 ZIP 压缩文件上传到对象存储时,将自动触发对象存储为您预配置的云函数,自动将文件解压到指定的存储桶和路径中。流程图如下:

解压流程

用户可以通过以下两种方式使用 ZIP 文件解压功能:

  • 通过控制台使用:您可以在控制台配置 ZIP 文件解压函数,配置完成后,对于新上传到存储桶内的 ZIP 文件,将会自动进行解压。
  • 通过 API 使用:您可以通过 API 调用的方式,主动触发 ZIP 文件的解压操作。

本篇文档主要讲解如何通过控制台使用 ZIP 文件解压功能,通过 API 使用的方式请参见 通过 API 进行 ZIP 文件解压

注意事项

  • ZIP 文件解压支持解压 ZIP 格式文件。
  • 若您此前在对象存储控制台上为存储桶添加了 ZIP 文件解压规则,可以在 云函数控制台 上看到您所创建的 ZIP 文件解压函数,请不要删除该 ZIP 文件解压函数,否则可能导致您的规则不生效。
  • 已上线云函数的地域均已支持 ZIP 文件解压缩,包括有广州、上海、北京、成都、香港、新加坡、孟买、多伦多、硅谷等,更多支持地域可查看 云函数产品文档
  • 压缩包中的目录或者文件名请严格使用 UTF-8 或 GB 2312 编码,否则可能导致解压后的文件名或者目录名出现乱码、解压过程中断等情况;如果出现报错,您可以单击所创建的函数右侧的查看日志,跳转到云函数控制台查看日志错误详情。
  • 归档存储类型文件不支持解压缩,如您需要解压缩归档存储类型的压缩包,请先恢复后再进行,恢复操作请参见 恢复归档对象
  • 解压单个压缩包最大处理时间为900秒,超过900秒未完成的解压任务会失败。对象存储的解压缩功能限制说明基于云函数服务,其他限制请参见 云函数限制说明
  • 对象存储 ZIP 解压缩功能依赖于云函数服务,云函数服务为用户提供了 免费额度,超出免费额度的部分需要按照 云函数产品定价 收费。当您使用解压缩功能时,如果您的压缩包越大,将消耗更多的资源使用量;如果您解压缩的次数越多,则将消耗更多的调用次数。

操作步骤

  1. 登录 对象存储控制台
  2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
  3. 找到需要添加 ZIP 文件解压规则的存储桶,单击该存储桶名称,进入该存储桶管理页面。
  4. 在左侧导航栏中,选择函数计算,单击 ZIP 文件解压函数,进入 ZIP 文件解压函数配置页面。
    注意:

    若您尚未开通云函数,请前往 云函数控制台 开通云函数服务,按照提示完成服务授权即可。

  5. 单击添加函数,在弹出的窗口中配置如下信息:
    img
    • 函数名称:函数名称作为函数的唯一标识名称,创建后不可修改。您可以在 云函数控制台 上查看该函数。
    • 事件类型:事件是指触发云函数的操作。以上传操作为例,上传的方式可能是调用PUT Object接口,也可能是调用POST Object接口,当选择事件为 Put方法创建时,只有通过PUT Object接口上传的压缩包会触发解压缩。
      注意:

      如果您的文件是通过简单上传、分块上传、跨地域复制等多种渠道上传到存储桶中,建议您选择全部创建事件。

    • 触发条件:指压缩包上传到哪个路径时会触发云函数。如果选择指定前缀,则仅当压缩包上传到指定前缀路径下时才会触发云函数;如果选择不指定前缀,则压缩包上传到存储桶任意位置均会触发。
      注意:

      如果配置的目标文件前缀与触发条件存在包含关系,可能导致循环触发,请尽量避免这种情况。例如目标前缀为prefix,触发条件为pre,当上传一个pref的压缩包时,将触发循环解压。

    • SCF 授权:解压缩需要授权云函数从您的存储桶中读取压缩包,并将解压缩后的文件上传到您指定的位置。因此需要添加此授权。
  6. 单击下一步,在弹出的窗口中配置如下信息:
    • 解压格式:当前可支持的压缩格式。
    • 投递存储桶:选择解压后的文件所存放的存储桶。
    • 投递的路径:将匹配到的文件解压到此目标目录下。为防止循环触发产生不必要的费用,建议您设置不同于前缀的目标目录。
    • 额外的前缀
      • 压缩包名称:将压缩包解压到以压缩包为名的目录下。
      • 压缩包所在目录:将压缩包解压到以压缩包所在的目录名命名的目录下。
      • 压缩包完整路径:将压缩包解压到以完整压缩包路径为名的前缀下。
      • 无:压缩包内的文件将直接解压到投递的路径下。
        说明:

        示例:
        将文件名为123的压缩包上传至存储桶 bucket1-125000000中的 test 目录下,解压后投递的存储桶为 bucket2-1250000000,投递路径为根目录,若用户选择额外的前缀则会有以下表现:

        • 压缩包名称:解压后的文件保存路径为:bucket2-1250000000/123
        • 压缩包所在目录:解压后的文件保存路径为:bucket2-1250000000/test
        • 压缩包完整路径:解压后的文件保存路径为:bucket2-1250000000/test/123
        • 无:解压后的文件保存路径为:bucket2-1250000000
    • 禁止递归触发:选择开启,则解压后的文件中如果包含 ZIP 包,不允许其触发解压;选择关闭,则解压后的文件中如果包含 ZIP 包,允许其触发解压。
    • 回调地址:根据实际需求,输入回调地址。
  7. 确认配置无误后,单击确认,即可看到函数已添加完成。
    img
    您可以对新创建的函数进行如下操作:
    • 单击日志,查看 ZIP 文件解压的历史运行情况。当解压出现报错时,您还可以通过单击日志,快速跳转到云函数控制台查看日志错误详情。
    • 单击详情,查看 ZIP 文件解压的具体配置规则。
    • 单击更多 > 编辑,修改 ZIP 文件解压规则。
    • 单击更多 > 删除,删除不使用的 ZIP 文件解压规则。
目录