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的搜索服务器.它提供了一个分布式多用户能力的全 ...
随机推荐
- Passwords
详见 此处 Header File 0*)1190*+0**0).0970)/0)/111105000
- Java poi 读取 word 、 pdf
从各个博客 CV 出来的,不好意思 pom <dependency> <groupId>org.apache.poi</groupId> <artifactI ...
- 在C#中使用适配器Adapter模式和扩展方法解决面向的对象设计问题
之前有阵子在业余时间拓展自己的一个游戏框架,结果在实现的过程中发现一个设计问题.这个游戏框架基于MonoGame实现,在MonoGame中,所有的材质渲染(Texture Rendering)都是通过 ...
- Android :安卓学习笔记之 Handler机制 的简单理解和使用
目录 Handler机制 1.Handler使用的引出 2.背景和定义 3.作用和意义 4.主要参数 5.工作原理及流程 5.1.对应关系 6.深入分析 Handler机制源码 6.1.Handler ...
- linux cpufreq framework(5)_ARM big Little driver
1. 前言 也许大家会觉得奇怪:为什么Linux kernel把对ARM big·Lttile的支持放到了cpufreq的框架中? 众所周知,ARM的big·Little架构,也称作HMP(具体可参考 ...
- 1. C#面试题 - Webservice和WebApi的区别
1. Webservice : 基于SOAP协议的,数据格式时XML,只支持http协议,不是开源的,只能部署在IIS上 2. Webapi 开源的,.net 平台
- ADO.NET 和 ORM的区别
ADO: 1 大量的Sql语句-业务不同,Sql语句不同 2 需要根据不同的场景编写不同Sql语句-灵活去编写Sql语句-提前优化Sql 语句-提供高性能的Sql语句 3 不适合快速开发 4 可编程性 ...
- Nmap信息命令详解
常用命令 nmap 192.168.0.100(简单扫描) nmap 192.168.0.100/24(扫描目标地址所在的某个网段) nmap 192.168.0.0/24(扫描整个子网中的网络主机信 ...
- schedule-执行周期性任务
模块介绍 该模块主要用于python的任务调度,使用简便友好的python语法定期运行python函数或者一些其他的调用对象,这个模块就类似于windows的任务计划和linux的crontab,都是 ...
- 使用netsh命令行进行网络管理
显示网络适配器状态 netsh interface show interface 显示各个网络适配器的名称和状态 启用(禁用)网络适配器 本系列命令需要以"以管理员身份运行". 禁 ...