功能描述
以同步请求的方式进行文件哈希值计算,实时返回计算得到的哈希值,该接口属于 GET 请求。
授权说明
服务开通
使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。
使用该功能需提前通过控制台或接口开通文件处理服务 。详情请参见 开通文件处理服务。
使用限制
使用该接口时,请先确认相关限制条件。详情请参见 使用限制。
不支持处理 COS 上的归档存储类型和深度归档存储类型的文件,如果需要处理此类型文件,请先 恢复归档文件。
文件大小:支持计算小于 128 MB 大小的文件,更大文件请使用 哈希值计算异步接口。
请求超时时间:10秒。
调用接口需携带签名,具体规则请参见 请求签名 文档。
本接口当前支持以下地域:北京、上海、广州、成都、南京、重庆、中国香港、新加坡、硅谷。
费用说明
如果文件为 COS 上的低频存储类型,调用会产生 COS 低频数据取回费用。
请求
请求示例
GET /<ObjectKey>?ci-process=filehash&type=<type> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>
请求头
请求参数
参数说明如下:
节点名称(关键字) | 描述 | 类型 | 是否必选 |
ci-process | 操作类型,哈希值计算固定为:filehash | String | 是 |
type | 支持的哈希算法类型,有效值:md5、sha1、sha256 | String | 是 |
addtoheader | 是否将计算得到的哈希值,自动添加至文件的自定义 header,格式为:x-cos-meta-md5/sha1/sha256; 有效值: true、false,不填则默认为 false | String | 否 |
请求体
该请求无请求体。
响应
响应头
响应体
该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response><FileHashCodeResult><MD5>0fe771ba515b0525552f59290a50c0ef</MD5><FileSize>1048576</FileSize></FileHashCodeResult><Input><Bucket>test-1234567890</Bucket><Object>wg.txt</Object><Region>ap-chongqing</Region></Input></Response>
具体的数据内容如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Response | 无 | 保存结果的容器 | Container |
Container 节点 Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
FileHashCodeResult | Response | 文件哈希值的结果。 | Container |
Input | Response | 输入文件的基本信息。 | Container |
Container 节点 FileHashCodeResult 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
MD5 | Response.FileHashCodeResult | 请求时 type 为 md5 时返回 | String |
SHA1 | Response.FileHashCodeResult | 请求时 type 为 sha1 时返回 | String |
SHA256 | Response.FileHashCodeResult | 请求时 type 为 sha256 时返回 | String |
FileSize | Response.FileHashCodeResult | 文件的大小 | Int |
LastModified | Response.FileHashCodeResult | 对象的最近一次修改的时间 | String |
Etag | Response.FileHashCodeResult | ETag 全称为 Entity Tag,是对象被创建时标识对象内容的信息标签,可用于检查对象的内容是否发生变化 | String |
Container 节点 Input 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Region | Response.JobsDetail.Input | 存储桶所在地域 | String |
Bucket | Response.JobsDetail.Input | 输入文件所在的存储桶 | String |
Object | Response.JobsDetail.Input | 输入文件在存储桶中的名称 | String |
错误码
实际案例
请求
GET /for-test.mp4?ci-process=filehash&type=md5 HTTP/1.1Host: test-1234567890.cos.ap-beijing.myqcloud.comAuthorization: q-sign-algorithm=sha1&q-ak=************************************027&q-key-time=1484213027;32557109027&q-header-list=host&q-url-param-list=acl&q-signature=****************************************Content-Length: 0
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 666Connection: keep-aliveDate: Mon, 28 Jun 2022 15:23:12 GMTServer: tencent-cosx-cos-request-id: NTg3NzRiMjVfYmRjMzVfMTViMl82ZGZmNw==<Response><FileHashCodeResult><MD5>0fe771ba515b0525552f59290a50c0ef</MD5><FileSize>1048576</FileSize><LastModified>2022-06-27T15:23:12+0800</LastModified><Etag>"ee8de918d05640145b18f70f4c3aa602"</Etag></FileHashCodeResult><Input><Bucket>test-1234567890</Bucket><Object>wg.txt</Object><Region>ap-chongqing</Region></Input></Response>