文件自动解压
更新时间:2024-06-14
简介
文件解压缩功能是对象存储(BOS)基于 百度智能云函数计算(CFC) 为用户提供的数据处理解决方案。用户为存储桶添加文件解压缩规则后,当压缩文件上传到对象存储时,将自动触发对象存储为您预配置的云函数,自动将文件解压到指定的存储桶和路径中。文件解压缩的流程图如下所示。
您也可利用CFC,在事件通知规则中设置 BOS文件操作自动触发更多自定义函数处理,请查看 函数计算的配置指南。
注意事项
- 文件解压缩仅支持解压 ZIP 格式文件。
- 若您在对象存储控制台上为存储桶添加了文件解压缩规则,可以在 云函数计算(CFC)控制台 上看到您所创建的文件解压缩函数,请不要删除或随意修改此文件解压缩函数,否则可能导致您的规则不生效。
- 已上线函数计算服务的地域均已支持ZIP包解压缩,包括有北京、广州与苏州,更多支持地域可 提交工单。
- 压缩包中的目录或者文件名请严格使用 UTF-8 编码,否则可能导致解压后的文件名或者目录名出现乱码、解压过程中断等情况;如果出现报错,您可以跳转到云函数控制台查看日志。
- 归档存储类型文件不支持解压缩。
- 使用该功能的前提是您已经开通对象存储与CFC服务,若您尚未开通函数计算(CFC),请前往 函数计算控制台 开通函数计算服务,按照提示完成服务授权即可。
- 解压单个压缩包最大处理时间为1800s,源压缩包过大会导致解压缩失败,推荐上传小于60GB压缩包、zip包中待解压文件数量不超过10000个。对象存储的解压缩功能限制说明基于云函数服务,其他限制请参见 函数计算限制说明。
- 对象存储解压缩功能依赖于云函数服务,函数计算服务为用户提供了 免费额度与定价。当您使用文件解压缩功能时,如果您的压缩包越大,将消耗更多的资源使用量;如果您解压缩的次数越多,则将消耗更多的调用次数。
- 对象存储解压缩功能对上传的文件压缩包进行自动解压,原压缩包和解压后文件都将收取存储空间费用,解压完成后,若您确定压缩包不再需要,需要您手动删除压缩包。
操作步骤
创建
- 登录 对象存储控制台。
- 在左侧导航栏中,单击【Bucket列表】,找到需要添加文件自动解压缩规则的存储桶,单击该存储桶名称,进入该存储桶管理页面。
- 点击,选择【事件通知】,单击【zip文件解压】。
- 进入ZIP文件解压规则配置页面,配置规则如下信息:
参数 | 参数说明 |
---|---|
状态 | 默认开启,规则开启状态将对符合规则的压缩包进行自动解压,若想暂停执行该解压任务这可以操作关闭。 |
规则名称/规则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字符。 |
- 确认配置无误后,单击【确定】,即可通过事件通知规则列表看到规则已添加完成。
文件解压规则管理
您可以对新创建的解压规则进行如下操作:
- 单击【编辑】,修改文件解压缩规则。
- 单击【删除】,删除不使用的文件解压缩规则。