功能描述
以同步请求的方式进行文件哈希值计算,实时返回计算得到的哈希值,该接口属于 GET 请求。
费用说明
- 调用接口会产生 哈希值计算费用 和 COS 读请求费用。
- 如果文件为 COS 上的低频存储类型,调用会产生 COS 低频数据取回费用。
- 不支持处理 COS 上的归档存储类型和深度归档存储类型的文件,如果需要处理此类型文件,请先 恢复归档文件。
限制说明
- 文件大小:支持计算小于 128 MB 大小的文件,更大文件请使用 哈希值计算异步接口。
- 请求超时时间:10秒
- 调用接口需携带签名,具体规则请参见 请求签名 文档。
- 本接口当前支持以下地域:北京、上海、广州、成都、中国香港、新加坡、硅谷。
请求
请求示例
GET /for-test.mp4?ci-process=filehash&type=md5 HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: <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 |
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.1
Host: test-1234567890.cos.ap-beijing.myqcloud.com
Authorization: q-sign-algorithm=sha1&q-ak=AKIDWtTCBYjM5OwLB9CAwA1Qb2ThTSUjfG****-sign-time=1484213027;32557109027&q-key-time=1484213027;32557109027&q-header-list=host&q-url-param-list=acl&q-signature=dcc1eb2022b79cb2a780bf062d3a40e120b4****
Content-Length: 0
响应
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 666
Connection: keep-alive
Date: Mon, 28 Jun 2022 15:23:12 GMT
Server: tencent-cos
x-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>