有奖捉虫:云通信与企业服务文档专题,速来> HOT
注意
该文档已停止维护,如需使用文件解压功能,可开通数据万象文件处理服务进行使用,详情请参见 文件处理

简介

GZIP 文件解压功能是腾讯云对象存储(Cloud Object Storage,COS)基于 云函数(Serverless Cloud Function,SCF) 为用户提供的数据处理解决方案。用户为存储桶添加 GZIP 文件解压规则后,当 GZIP 压缩文件上传到对象存储时,将自动触发对象存储为您预配置的云函数,自动将文件解压到指定的存储桶和路径中。
用户可以通过以下两种方式使用 GZIP 文件解压功能:
通过控制台使用:您可以在控制台配置 GZIP 文件解压函数,配置完成后,对于新上传到存储桶内的 GZIP 文件,将会自动进行解压。
通过 API 使用:您可以通过 API 调用的方式,主动触发 GZIP 文件的解压操作。
本篇文档主要讲解如何通过控制台使用 GZIP 文件解压功能,通过 API 使用的方式请参见 通过 API 进行 GZIP 文件解压

注意事项

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

操作步骤

2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
3. 找到需要添加 GZIP 文件解压规则的存储桶,单击该存储桶名称,进入该存储桶管理页面。
4. 在左侧导航栏中,选择函数计算,单击 GZIP 文件解压函数,进入 GZIP 文件解压函数配置页面。
注意
若您尚未开通云函数,请前往 云函数控制台 开通云函数服务,按照提示完成服务授权即可。
5. 单击添加函数,在弹出的窗口中配置如下信息:
img


函数名称:函数名称作为函数的唯一标识名称,创建后不可修改。您可以在 云函数控制台 上查看该函数。
事件类型:事件是指触发云函数的操作。以上传操作为例,上传的方式可能是调用PUT Object接口,也可能是调用POST Object接口,当选择事件为 Put方法创建时,只有通过PUT Object接口上传的压缩包会触发解压缩。
注意
如果您的文件是通过简单上传、分块上传、跨地域复制等多种渠道上传到存储桶中,建议您选择全部创建事件。
触发条件:指压缩包上传到哪个路径时会触发云函数。如果选择指定前缀,则仅当压缩包上传到指定前缀路径下时才会触发云函数;如果选择不指定前缀,则压缩包上传到存储桶任意位置均会触发。
注意
如果配置的目标文件前缀与触发条件存在包含关系,可能导致循环触发,请尽量避免这种情况。例如目标前缀为prefix,触发条件为pre,当上传一个pref的压缩包时,将触发循环解压。
SCF 授权:解压缩需要授权云函数从您的存储桶中读取压缩包,并将解压缩后的文件上传到您指定的位置。因此需要添加此授权。
6. 单击下一步,在弹出的窗口中配置如下信息:
img


解压格式:指当前可支持的压缩格式,目前支持.gz、.tgz 格式压缩包解压。
投递存储桶:选择解压后的文件所存放的存储桶。
投递的路径:将匹配到的文件解压到此目标目录下。为防止循环触发产生不必要的费用,建议您设置不同于前缀的目标目录。
额外的前缀
压缩包名称:将压缩包解压到以压缩包为名的目录下。
压缩包所在目录:将压缩包解压到以压缩包所在的目录名命名的目录下。
压缩包完整路径:将压缩包解压到以完整压缩包路径为名的前缀下。
无:压缩包内的文件将直接解压到投递的路径下。
说明
示例: 将文件名为123的压缩包上传至存储桶 bucket1-125000000中的 test 目录下,解压后投递的存储桶为 bucket2-1250000000,投递路径为根目录,若用户选择额外的前缀则会有以下表现:
压缩包名称:解压后的文件保存路径为:bucket2-1250000000/123
压缩包所在目录:解压后的文件保存路径为:bucket2-1250000000/test
压缩包完整路径:解压后的文件保存路径为:bucket2-1250000000/test/123
无:解压后的文件保存路径为:bucket2-1250000000
7. 确认配置无误后,单击确认,即可看到函数已添加完成。
img

您可以对新创建的函数进行如下操作:
单击日志,查看 GZIP 文件解压的历史运行情况。当解压出现报错时,您还可以通过单击查看日志,快速跳转到云函数控制台查看日志错误详情。
单击详情,查看 GZIP 文件解压的具体配置规则。
单击更多>编辑,修改 GZIP 文件解压规则。
单击更多>删除,删除不使用的 GZIP 文件解压规则。