01 文件哈希值是什么?
文件哈希值,即文件内容的HASH值。是通过对文件内容进行加密运算得到的一组二进制值,主要用途是用于文件校验或签名。正是因为这样的特点,它常常用来判断两个文件是否相同。
COS 文件上传下载场景下,数据传输过程可能会出现错误,哈希值可用于对比确认已上传到 COS 的文件与本地文件的一致性。
02 用户痛点
-
COS 对象只提供 CRC64 校验码:由于对象存储的特殊性,COS 存储的对象,目前只提供 CRC64 校验值。
-
自定义计算哈希值有开发成本:有的开发者需要 MD5、SHA1、SHA256 等校验值,需要自行实现哈希计算过程。
03 解决方案
COS工作流+云函数,自定义计算
利用数据工作流+云函数新特性,COS 为开发者提供了文件哈希值计算模板。用户可轻松实现自定义计算 COS 文件哈希值函数。
方案优势:
-
可视化操作:一键配置,简化开发流程,无需编码工作,大幅提升研发效率;
-
多样化选择:支持 MD5 、SHA1 、SHA256、CRC64,满足各场景用户需求;
-
自动化执行:文件上传 COS 后,即刻触发工作流开始计算校验码;
04 配置步骤
1.到 COS 控制台存储桶详情,创建工作流,可以自定义过滤后缀过滤规则,创建自定义函数节点。
2.在函数节点弹窗里,点击新建函数,浏览器新标签会打开 SCF 的创建云函数的页面。
3.创建云函数
A. 选择“计算COS对象的哈希值”模板;
B. 配置足够的内存、执行超时时间;
C. 该函数模板支持两个环境变量;
-
hashTypeList 指定要计算的算法,可选,默认["crc64","md5", "sha1", "sha256"]
-
caseType 指定哈希值大小写,可选默认 lowercase,可以传入 uppercase
D. 启用权限配置,绑定包含当前存储桶读写权限的角色,创建运行角色请看文档;
E. 点击完成;
如需新建运行角色,可以选择“云函数”作为角色载体,配置 QcloudCOSFullAccess权限,或新建角色自行绑定只包含所需存储桶度权限的桶写权限。
4.回到刚才工作流的页面,选中刚创建的函数。并保存工作流。
5.上传文件,查看工作流处理成功后,可以看到上传的文件已成功添加多个哈希头部。
05 结语
更多自定义处理能力,等你来实现!
如果您有使用 COS 工作流 + Serverless 云函数开发更多有趣功能的想法,请点击阅读全文领取更多福利!关于更多COS工作流及云函数请前往:https://cloud.tencent.com/act/pro/cos_scf?from=14775