操作场景
在本实践中,我们用到了 云函数(Serverless Cloud Function,SCF) 和 对象存储(Cloud Object Storage,COS)。假定用户上传到 COS 的 zip 文件需要进行解压缩,并以 zip 包名作为文件夹名,回传到 COS。用户可根据示例代码进行扩展,例如支持其他格式文件的解压缩操作。
说明:由于当前云函数每次运行时分配的临时存储空间为512MB,因此建议单个 zip 包的大小不大于300MB,解压出来的单个文件不大于200MB。
操作步骤
创建存储桶
- 登录 对象存储控制台。
- 创建一个源存储桶,用于存放上传的 zip 文件,命名为 zip-upload,并选择北京地域,访问权限选择私有读写。
- 创建一个目标存储桶,用于存放解压后的文件,命名为 unzip,并选择北京地域,访问权限选择私有读写。说明:
创建云函数
- 登录 云函数控制台,进入函数服务页面。
- 选择北京地域,单击新建,进入新建函数页面。
- 选择模板创建,搜索ZIP包解压并选择该模板,单击下一步。
ZIP 包解压模板目前仅支持 zip 格式,如需处理 rar 或 7z 等其他格式,需自行扩展代码。您可单击查看详情查看模板函数详情,模板函数代码支持下载操作。 - 配置如下主要信息:
- 函数名称:命名为“unzip_to_cos”。
- 函数代码:按照注释修改如下参数。
- 高级配置:修改函数的超时时间为100秒。在实际运行过程中,如果有遇到函数执行超时,可以根据实际情况加大超时时间。
- 触发器配置:
- 触发方式:选择“COS 触发”。
- COS Bucket:选择“zip-upload”。
- 事件类型:选择“全部创建”,其他保持默认参数。
- 函数名称:命名为“unzip_to_cos”。
- 单击完成。