ZIP包解压
对象存储OSS提供ZIP文件自动解压功能。配置解压规则后,您上传到OSS指定路径的ZIP文件都会被自动解压。
前提条件
已开通函数计算服务。您可以在函数计算的产品详情页面开通函数计算服务。
仅华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北 3(张家口)、华北5(呼和浩特)、华南1(深圳)、西南1(成都)、中国香港、新加坡、澳大利亚(悉尼)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、德国(法兰克福)、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)、印度(孟买)地域的存储空间支持ZIP包解压。
无地域属性的存储空间不支持ZIP包解压。
背景信息
ZIP包解压结合函数计算完成ZIP文件的解压工作,解压流程如下图所示。
匹配解压规则的ZIP文件在上传到OSS后,会自动触发函数计算进行解压。文件解压完成后,会存储至OSS的指定目录中。
注意事项
建议使用UTF-8或GB 2312编码命名您的文件或文件夹,否则可能会出现解压后的文件或文件夹名称出现乱码、解压过程中断等问题。
冷归档或者深度冷归档存储类型的文件需先解冻再解压。
归档存储类型的文件,如果所在Bucket未开启归档直读,需先解冻再解压。
解压单个压缩包的最大时间是2小时,超过2小时未完成的任务会解压失败。
ZIP压缩包的大小不能过大,否则解压函数可能在执行超过2小时的情况下超时,从而导致解压失败。如果ZIP压缩包过大,您可以结合函数工作流,进行分批次解压。详情请参见oss-unzip。
ZIP压缩包中单个文件的大小不超过1 GB,否则可能导致解压失败。
ZIP包解压功能是增值服务,函数计算会根据解压执行时间计算费用。更多信息,请参见计费方式。
配置ZIP包解压规则
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择 。
单击ZIP 包解压,在ZIP 包解压面板配置ZIP包解压规则。
参数说明
参数
是否必选
说明
服务授权
是
授予函数计算读写OSS和执行函数的权限。
单击授权按钮,然后按照提示完成授权。
触发器授权
是
授予OSS访问函数计算的权限。
单击授权按钮,然后按照提示完成授权。如果已完成授权,此项显示为触发器角色。
前缀
否
配置触发函数计算的文件前缀。您上传指定前缀的ZIP文件或将ZIP文件上传至指定目录会触发函数计算。置空此项则匹配所有上传的ZIP文件。
重要置空此项可能会触发循环执行,建议您配置文件前缀。更多信息,请参见如何避免循环触发?。
目标目录
否
填写ZIP文件解压后存放的目录。置空此项,函数计算会将ZIP文件解压到当前Bucket的根目录。
如果您需要在目标目录中保留ZIP文件名,则选中保留压缩文件名为路径目录。
如果您不需要保留ZIP文件名,直接将解压后的文件存放在目标目录,则选中直接解压到目标目录中。配置详情请参见以下配置示例。
警告为避免影响OSS-HDFS服务的正常使用或者引发数据污染、数据丢失的风险,在开通了OSS-HDFS服务的Bucket中配置ZIP包解压规则时,禁止将目标目录填写为
.dlsdata/
。配置示例
场景
配置方法
解压后的文件结构
所有上传至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 └─── ...
选中我已知晓并同意开通函数计算,通过函数计算处理压缩文件。压缩文件里面的文件名或文件夹名不支持非UTF-8或GB 2312编码后,单击确定。
修改ZIP包解压配置
您可以根据自己的需求修改ZIP包解压的配置。
修改触发函数计算的文件前缀
在OSS控制台的ZIP 包解压页面,单击目标触发器右侧的编辑。
在弹出的函数详情页面下的触发器管理页签,单击目标触发器右侧的编辑。
在编辑触发器对话框,修改文件前缀,其他参数保持默认配置。
单击确定。
修改函数计算配置
在函数详情页面下的函数配置页签,单击目标触发器右侧的编辑。
根据实际需求,修改函数计算相关配置,例如函数执行内存、执行超时时间等。
具体操作,请参见管理函数。
删除ZIP包解压规则
对于不需要的ZIP包解压规则,您可以手动删除。
在函数详情页面下的函数配置页签,单击目标触发器右侧的删除。
在弹出的对话框,单击删除。
重要删除后无法恢复,且不能继续使用当前触发器触发函数。