COS数据工作流+云函数最佳实践 - 文件哈希值计算

01 文件哈希值是什么?

文件哈希值,即文件内容的HASH值。是通过对文件内容进行加密运算得到的一组二进制值,主要用途是用于文件校验或签名。正是因为这样的特点,它常常用来判断两个文件是否相同。

COS 文件上传下载场景下,数据传输过程可能会出现错误,哈希值可用于对比确认已上传到 COS 的文件与本地文件的一致性。

02 用户痛点

  • COS 对象只提供 CRC64 校验码:由于对象存储的特殊性,COS 存储的对象,目前只提供 CRC64 校验值。

  • 自定义计算哈希值有开发成本:有的开发者需要 MD5、SHA1、SHA256 等校验值,需要自行实现哈希计算过程。

03 解决方案

COS工作流+云函数,自定义计算

利用数据工作流+云函数新特性,COS 为开发者提供了文件哈希值计算模板。用户可轻松实现自定义计算 COS 文件哈希值函数。

COS数据工作流+云函数最佳实践 - 文件哈希值计算

方案优势:

  • 可视化操作:一键配置,简化开发流程,无需编码工作,大幅提升研发效率;

  • 多样化选择:支持 MD5 、SHA1 、SHA256、CRC64,满足各场景用户需求;

  • 自动化执行:文件上传 COS 后,即刻触发工作流开始计算校验码;

04 配置步骤

1.到 COS 控制台存储桶详情,创建工作流,可以自定义过滤后缀过滤规则,创建自定义函数节点。

COS数据工作流+云函数最佳实践 - 文件哈希值计算

2.在函数节点弹窗里,点击新建函数,浏览器新标签会打开 SCF 的创建云函数的页面。

COS数据工作流+云函数最佳实践 - 文件哈希值计算

3.创建云函数

A. 选择“计算COS对象的哈希值”模板;

B. 配置足够的内存、执行超时时间;

C. 该函数模板支持两个环境变量;

  • hashTypeList 指定要计算的算法,可选,默认["crc64","md5", "sha1", "sha256"]

  • caseType 指定哈希值大小写,可选默认 lowercase,可以传入 uppercase

D. 启用权限配置,绑定包含当前存储桶读写权限的角色,创建运行角色请看文档;
E. 点击完成;

COS数据工作流+云函数最佳实践 - 文件哈希值计算

COS数据工作流+云函数最佳实践 - 文件哈希值计算

如需新建运行角色,可以选择“云函数”作为角色载体,配置 QcloudCOSFullAccess权限,或新建角色自行绑定只包含所需存储桶度权限的桶写权限。

COS数据工作流+云函数最佳实践 - 文件哈希值计算

COS数据工作流+云函数最佳实践 - 文件哈希值计算

4.回到刚才工作流的页面,选中刚创建的函数。并保存工作流。

COS数据工作流+云函数最佳实践 - 文件哈希值计算

5.上传文件,查看工作流处理成功后,可以看到上传的文件已成功添加多个哈希头部。
COS数据工作流+云函数最佳实践 - 文件哈希值计算

05 结语

更多自定义处理能力,等你来实现!

如果您有使用 COS 工作流 + Serverless 云函数开发更多有趣功能的想法,请点击阅读全文领取更多福利!关于更多COS工作流及云函数请前往:https://cloud.tencent.com/act/pro/cos_scf?from=14775

COS数据工作流+云函数最佳实践 - 文件哈希值计算

上一篇:linux命令---强大的性能监测工具dstat


下一篇:k8s使用私有镜像仓库