操作场景
本文介绍如何使用腾讯云云函数 SCF 实现对象存储 COS 中的文件自动解压缩。其中 COS 用于存储上传后需要解压的 .zip 文件及解压后的文件,SCF 实现对 .zip 文件上传至 COS 后的自动解压缩。
操作步骤
创建存储桶
1. 登录 对象存储控制台。2. 在左侧导航中,单击存储桶列表,进入存储桶列表页面。3. 单击创建存储桶。4. 在弹出的创建存储桶对话框中,配置如下信息:4.1 基本信息
主要参数信息如下,其余参数请保持默认设置:名称:自定义 Bucket 名称,本文以 mybucket 为例。所属地域:选择“广州”。访问权限:选择“私有读写”。4.2 高级可选配置该设置项为可选,您可按需进行设置。参数详情请参见 创建存储桶。4.3 确认配置对存储桶的配置信息进行确认。如需修改,单击上一步即可。5. 确认信息无误后,单击创建,即可创建存储桶。在存储桶列表界面中,您可以看到刚才已创建的存储桶。
配置解压函数
1. 在存储桶详情页面,选择左侧导航中的函数计算,单击 ZIP 文件解压函数,进入 ZIP 文件解压函数配置页面。 2. 单击添加函数。在弹出的窗口中配置如下信息。如下图所示:
函数名称:将自动在对应地域下创建函数,函数名称作为函数的唯一标识名称,创建后不可修改。您可以在 云函数控制台 上查看该函数。事件类型:事件是指触发云函数的操作。以上传操作为例,上传的方式可能是调用 PUT Object
接口或 POST Object
接口,当选择事件为Put 方法创建时,只有通过 PUT Object
接口上传的压缩包会触发解压缩。注意如果您的文件是通过简单上传、分块上传或跨地域复制等渠道上传到存储桶中,建议选择全部创建事件。触发条件:指压缩包上传到指定路径时会触发云函数。如果选择指定前缀,则仅当压缩包上传到指定前缀路径下时才会触发云函数。如果选择整个存储桶,则压缩包上传到存储桶任意位置均会触发。注意如果配置的目标文件前缀与触发条件存在包含关系,可能导致循环触发,请尽量避免这种情况。例如目标前缀为 prefix
,触发条件为 pre
,当上传一个 pref
的压缩包时,将触发循环解压。SCF授权:解压缩需要授权云函数从您的存储桶中读取压缩包,并将解压缩后的文件上传到您指定的位置。因此需要添加此授权。3. 单击下一步,在弹出的窗口中配置如下信息:解压格式:指当前可支持的压缩格式,目前仅支持 ZIP 格式压缩包解压。投递存储桶:选择解压后的文件所存放的存储桶。投递的路径:将匹配到的文件解压到此目标目录下。为防止循环触发产生不必要的费用,建议您设置不同于前缀的目标目录。额外的前缀:是压缩包解压缩后,文件存储的具体路径。如果不设置则默认为存储桶根目录。详情可参见 通过控制台配置 ZIP 文件自动解压。禁止递归触发:选择开启,则解压后的文件中如果包含 ZIP 包,不允许其触发解压;选择关闭,则解压后的文件中如果包含 ZIP 包,允许其触发解压。回调地址:根据实际需求,输入回调地址。4. 确认配置无误后,单击确认,即可看到函数已添加完成。n对新创建的函数进行查看日志操作,可查看解压缩的历史运行情况。当解压出现报错时,您可以通过选择查看日志,快速跳转到云函数控制台查看日志错误详情。如果需要删除不使用的文件解压缩规则,可以选择删除并删除相关配置。
测试函数功能
1. 在 Bucket 管理页面,选择左侧的文件列表。2. 在文件列表页面,单击上传文件,选择任意一个 .zip 压缩文件上传。如下图所示: n
3. 刷新当前存储桶,检查是否生成解压后的文件。4. 切换至函数计算查看日志或进入 Serverless 控制台 查看执行结果,在日志查询中可以看到打印出来的日志信息。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:http://www.yunxiaoer.com/149963.html