对象存储OSS提供ZIP文件自动解压功能。配置解压规则后,您上传到OSS指定路径的ZIP文件都会被自动解压。
前提条件
-
已开通函数计算服务。您可以在函数计算的 产品详情 页面开通函数计算服务。
-
仅 华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北 3(张家口)、华北5(呼和浩特)、华南1(深圳)、西南1(成都)、中国香港、新加坡、澳大利亚(悉尼)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、德国(法兰克福)、英国(伦敦)、美国(弗吉尼亚)、美国(硅谷)、印度(孟买) 地域的存储空间支持ZIP包解压。
背景信息
ZIP包解压结合函数计算完成ZIP文件的解压工作,解压流程如下图所示。
匹配解压规则的ZIP文件在上传到OSS后,会自动触发函数计算进行解压。文件解压完成后,会存储至OSS的指定目录中。
注意事项
-
建议使用UTF-8或GB 2312编码命名您的文件或文件夹,否则可能会出现解压后的文件或文件夹名称出现乱码、解压过程中断等问题。
-
冷归档存储类型的文件需先解冻再解压。
-
归档存储类型的文件,如果所在Bucket未开启归档直读,需先解冻再解压。
-
解压单个压缩包的最大时间是2小时,超过2小时未完成的任务会解压失败。
-
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包解压的配置。
-
修改前缀
-
进入 ZIP包解压 页签。
-
单击目标触发器右侧的 编辑 跳转到函数计算控制台。
-
在弹出的 修改触发器 面板修改 触发规则 区域的 前缀 ,其他参数建议保持默认。
-
单击 确定 。
-
-
修改函数计算配置
-
进入 ZIP包解压 页签。
-
单击目标触发器右侧的 编辑 跳转到函数计算控制台。
-
在弹出的 修改触发器 面板单击 取消 。
-
单击 概览 页签,之后单击 修改配置 。
-
在弹出的 配置函数 页面修改函数配置。
您可以根据实际需求修改 函数执行内存 、 超时时间 、 环境变量 :
-
函数执行内存 :根据您处理的文件大小来选择,若您的ZIP文件较小,可以选择更小规格的函数执行内存来节省费用。
-
超时时间 :函数在规定时间内未能执行,函数计算会返回超时错误。建议配置合适的超时时间,避免函数执行超时。
-
环境变量 :修改此项的值会修改解压文件的目标目录。
-
-
单击 提交 。
-
删除ZIP包解压规则
对于不需要的ZIP包解压规则,您可以手动删除。
-
进入 ZIP包解压 页签。
-
单击目标触发器右侧的 编辑 跳转到函数计算控制台。
-
在弹出的 修改触发器 面板单击 取消 。
-
单击 触发器 页签,之后单击目标触发器右侧的 删除 。
-
在弹出的对话框单击 确定 。