搜索本产品文档关键词
文件自动解压
所有文档
menu
没有找到结果,请重新输入

对象存储 BOS

文件自动解压

简介

文件解压缩功能是对象存储(BOS)基于 百度智能云函数计算(CFC) 为用户提供的数据处理解决方案。用户为存储桶添加文件解压缩规则后,当压缩文件上传到对象存储时,将自动触发对象存储为您预配置的云函数,自动将文件解压到指定的存储桶和路径中。文件解压缩的流程图如下所示。

解压流程

您也可利用CFC,在事件通知规则中设置 BOS文件操作自动触发更多自定义函数处理,请查看 函数计算的配置指南

注意事项

  • 文件解压缩仅支持解压 ZIP 格式文件。
  • 若您在对象存储控制台上为存储桶添加了文件解压缩规则,可以在 云函数计算(CFC)控制台 上看到您所创建的文件解压缩函数,请不要删除或随意修改此文件解压缩函数,否则可能导致您的规则不生效。
  • 已上线函数计算服务的地域均已支持ZIP包解压缩,包括有北京、广州与苏州,更多支持地域可 提交工单
  • 压缩包中的目录或者文件名请严格使用 UTF-8 编码,否则可能导致解压后的文件名或者目录名出现乱码、解压过程中断等情况;如果出现报错,您可以跳转到云函数控制台查看日志
  • 归档存储类型文件不支持解压缩。
  • 使用该功能的前提是您已经开通对象存储与CFC服务,若您尚未开通函数计算(CFC),请前往 函数计算控制台 开通函数计算服务,按照提示完成服务授权即可。
  • 解压单个压缩包最大处理时间为1800s,源压缩包过大会导致解压缩失败,推荐上传小于60GB压缩包、zip包中待解压文件数量不超过10000个。对象存储的解压缩功能限制说明基于云函数服务,其他限制请参见 函数计算限制说明
  • 对象存储解压缩功能依赖于云函数服务,函数计算服务为用户提供了 免费额度与定价。当您使用文件解压缩功能时,如果您的压缩包越大,将消耗更多的资源使用量;如果您解压缩的次数越多,则将消耗更多的调用次数。
  • 对象存储解压缩功能对上传的文件压缩包进行自动解压,原压缩包和解压后文件都将收取存储空间费用,解压完成后,若您确定压缩包不再需要,需要您手动删除压缩包。

操作步骤

创建

  1. 登录 对象存储控制台
  2. 在左侧导航栏中,单击【Bucket列表】,找到需要添加文件自动解压缩规则的存储桶,单击该存储桶名称,进入该存储桶管理页面。
  3. 点击,选择【事件通知】,单击【zip文件解压】。

zip文件解压.jpg

  1. 进入ZIP文件解压规则配置页面,配置规则如下信息:

新建zip解压规则.png

参数 参数说明
状态 默认开启,规则开启状态将对符合规则的压缩包进行自动解压,若想暂停执行该解压任务这可以操作关闭。
规则名称/规则ID/产品ID 解压规则的标识,创建后不可修改。支持大小写字母、数字、中文以及-_ /.特殊字符,必须以字母开头,长度1-65。
触发事件 · 事件是指触发云函数的操作。目前支持5个事件:PutObject,PostObject,CopyObject,FetchObject,FetchObject,CompleteMultipartUpload(分片上传完成)
· 以上传操作为例,上传的方式可能是调用PutObject接口,也可能是调用POST Object接口,当选择事件为【PutObject】时,只有通过PUT Object接口上传的压缩包会触发解压缩。
· 如果您的文件是通过简单上传、分块上传等多种渠道上传到存储桶中,推荐您选择【全部】事件。
覆盖资源 · 指压缩包上传到哪个路径时会触发云函数。如果选择指定前缀,则仅当压缩包上传到指定前缀路径下时才会触发云函数;如果选择不指定前缀,则压缩包上传到存储桶任意位置均会触发。
· 为了防止不必要的循环解压,推荐您配置覆盖资源时可精确到目录级别。
解压格式 指当前可支持的压缩格式,目前仅支持 ZIP 格式压缩包解压。
投递存储桶 选择解压后的文件所存放的存储桶,仅支持与压缩文件上传存储桶相同地域的桶中。
投递目录 · 将匹配到的文件解压到此目标目录下。
· 建议您设置的投递目录与覆盖资源设置的前缀不存在资源重叠。如果配置的目标文件前缀与触发条件存在包含关系,可能导致循环触发,可能产生不必要的费用,请您尽量避免这种情况。例如投递目录设置为pre/fix/,触发条件为pre/,当上传一个pre/fix/1.zip的压缩包时,将触发循环解压。
额外前缀 · 选择解压后的文件所存放的存储桶,仅支持与压缩文件上传存储桶相同地域的桶中。
  * 保留压缩文件名:您可以将压缩包解压到以压缩包为名的前缀下。
  * 保留完整压缩文件名:您可以将压缩包解压到以完整压缩包路径为名的前缀下。
  * 设置为“无”:压缩包内的文件将直接解压到投递的路径下。
· 举例说明:若您的投递路径设置为example/,原压缩文件名为source.zip,原压缩文件全路径为 123/source.zip,压缩包内文件名为test.txt:
  * 保留压缩文件名后,解压后文件路径为 example/source/test.txt
  * 保留完整压缩文件名,解压后文件路径为 example/123/source/test.txt
  * 无,解压后文件路径为 example/test.txt
回调通知 开启回调通知,配置用于接收解压结果的回调 URL 地址,解压完成后 BOS 会将json格式的解压结果推送到该地址,回调结果详见回调结果示例
CFC 授权 我已知晓并同意授权函数计算(CFC),通过函数计算处理压缩文件。解压缩需要授权云函数从您的存储桶中读取压缩包,并将解压缩后的文件上传到您指定的位置。因此需要添加此授权,由此您也可能产生CFC一定使用费用,参考CFC计费说明。并且已知压缩文件里面的文件名或文件夹名不支持非UTF-8字符。
  1. 确认配置无误后,单击【确定】,即可通过事件通知规则列表看到规则已添加完成。

文件解压规则管理

您可以对新创建的解压规则进行如下操作:

zip管理.png

  • 单击【编辑】,修改文件解压缩规则。
  • 单击【删除】,删除不使用的文件解压缩规则。

回调结果示例

回调结果.png

上一篇
统计与监控
下一篇
分层命名空间存储桶操作说明