COS数据工作流+云函数最佳实践 - 文件哈希值计算
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
COS数据工作流+云函数最佳实践 - 文件哈希值计算的更多相关文章
- 探索云数据库最佳实践 阿里云开发者大会数据库专场邀你一起Code up!
盛夏.魔都.科技 三者在一起有什么惊喜? 7月24日,阿里云峰会·上海——开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享数据库.云原生.开源大数据等领域的技术干货,共同探讨前沿科技趋势, ...
- 微信小程序开发 -- 通过云函数下载任意文件
微信小程序开发 -- 通过云函数下载任意文件 1.云开发介绍 微信小程序开发者众所周知,小程序开发拥有许多限制,当我还是一个菜鸟入门的时候,第一关就卡在了没有备案域名的HTTP请求上面,那时候云开 ...
- “行业客户云原生最佳实践日” 亮相KubeCon上海
2018年11月13日至15日,由CNCF主办的KubeCon + CloudNativeCon将首次登陆中国上海,这是全球范围内规模最大的Kubernetes和云原生技术盛会. 唯一聚焦客户实践的分 ...
- 小程序云开发--云函数上传文件或图片 base64
云函数开发遇到的问题 在微信云开发环境当中,普通的用户并没有往云存储内写入文件的权限 所以普通用户想要使用wx.cloud.uploadFile显然是不现实的 但是我们同时也知道,云函数是后台服务端, ...
- Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode
Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode 不个网页title保存成个个文件的时候儿有无效字符的问题... 通常两个处理方式 ...
- 基于AngularJS的前端云组件最佳实践
AngularJS是google设计和开发的一套前端开发框架,他能帮助开发人员更便捷地进行前端开发.AngularJS是为了克服HTML在构建应用上的不足而设计的,它非常全面且简单易学习,因此Angu ...
- USB-Blaster驱动安装失败——文件哈希值不在指定目录中
右击此电脑,选择管理,选择设备管理器,更新USB-Blaster驱动出现问题 问题: 文件的哈希值不在指定的目录文件中,如图: 解决办法: Windows键+R→shutdown.exe /r /o ...
- win10下计算文件哈希值的方法
cmd下使用certutil命令 使用方法: certutil -hashfile FILE_NAME ALGORITHM_NAME 支持的加密算法包括:MD2,MD4,MD5,SHA1,SHA256 ...
- 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟 ...
- 同步mysql数据到ElasticSearch的最佳实践
Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全 ...
随机推荐
- Springboot 项目配置 HTTPS
生成证书 输入命令 keytool -genkeypair -alias "boot" -keyalg "RSA" -keystore "boot.k ...
- UEFI原理与编程(一)
第一章 UEFI概述(Unified Extensible Firmware Interface 统一的可扩展固件接口) 常见缩写及描述: 缩略词 全名 描述 UEFI Unified Extensi ...
- ARM64 SMP多核启动(下)- PSCI
4.支持psci情况 上面说了pin-table的多核启动方式,看似很繁琐,实际上并不复杂,无外乎主处理器唤醒从处理器到指定地址上去执行指令,说他简单是相对于功能来说的,因为他只是实现了从处理器的启动 ...
- docker-compose -- 创建 redis && mysql
version: '3' services: nest-admin-web: image: buqiyuan/vue3-antdv-admin:stable container_name: nest- ...
- Blazor Hybrid 实战体验:那些你可能没预料到的坑没预料到的坑
前言 昨天写了一篇介绍 Blazor Hybrid 技术的文章,但限于篇幅,一些问题未能深入探讨.今天,我想继续记录使用 Blazor Hybrid 过程中遇到的几个问题,以及这个技术目前的一些局限性 ...
- apisix~按域名进行请求转发
路由route 路由(Route)是请求的入口点,它定义了客户端请求与服务之间的匹配规则.路由可以与服务(Service).上游(Upstream)关联,一个服务可对应一组路由,一个路由可以对应一个上 ...
- 关于uniapp的兼容性的一些问题
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- SpringBoot数据访问,配置数据源
配置文件目录 配置数据源jdbc版本 JDBC(.tomcat.jdbc.pool.DataSource作为数据源) <?xml version="1.0" encoding ...
- 2024 CSP 游记
\(\text{CSP-J}\) 游记 \(\text{Day -INF}\) 初赛免了,没有游记. \(\text{Day 0}\) 有点慌,于是打开了游戏跟 \(\text{zjx,sym}\) ...
- 解密prompt系列41. GraphRAG真的是Silver Bullet?
这一章我们介绍GraphRAG范式,算着时间也是该到图谱了,NLP每一轮新模型出来后,往往都是先研究微调,然后各种预训练方案,接着琢磨数据,各种主动学习半监督,弱监督,无监督,再之后就到图谱和对抗学习 ...