tencent cloud

Cloud Object Storage

동향 및 공지
릴리스 노트
제품 공지
제품 소개
제품 개요
기능 개요
적용 시나리오
제품 장점
기본 개념
리전 및 액세스 도메인
규격 및 제한
제품 요금
과금 개요
과금 방식
과금 항목
프리 티어
과금 예시
청구서 보기 및 다운로드
연체 안내
FAQ
빠른 시작
콘솔 시작하기
COSBrowser 시작하기
사용자 가이드
요청 생성
버킷
객체
데이터 관리
일괄 프로세스
글로벌 가속
모니터링 및 알람
운영 센터
데이터 처리
스마트 툴 박스 사용 가이드
데이터 워크플로
애플리케이션 통합
툴 가이드
툴 개요
환경 설치 및 설정
COSBrowser 툴
COSCLI 툴
COSCMD 툴
COS Migration 툴
FTP Server 툴
Hadoop 툴
COSDistCp 툴
HDFS TO COS 툴
온라인 도구 (Onrain Dogu)
자가 진단 도구
실습 튜토리얼
개요
액세스 제어 및 권한 관리
성능 최적화
AWS S3 SDK를 사용하여 COS에 액세스하기
데이터 재해 복구 백업
도메인 관리 사례
이미지 처리 사례
COS 오디오/비디오 플레이어 사례
데이터 다이렉트 업로드
데이터 보안
데이터 검증
빅 데이터 사례
COS 비용 최적화 솔루션
3rd party 애플리케이션에서 COS 사용
마이그레이션 가이드
로컬 데이터 COS로 마이그레이션
타사 클라우드 스토리지 데이터를 COS로 마이그레이션
URL이 소스 주소인 데이터를 COS로 마이그레이션
COS 간 데이터 마이그레이션
Hadoop 파일 시스템과 COS 간 데이터 마이그레이션
데이터 레이크 스토리지
클라우드 네이티브 데이터 레이크
메타데이터 가속
데이터 레이크 가속기 GooseFS
데이터 처리
데이터 처리 개요
이미지 처리
미디어 처리
콘텐츠 조정
파일 처리
문서 미리보기
장애 처리
RequestId 가져오기
공용 네트워크로 COS에 파일 업로드 시 속도가 느린 문제
COS 액세스 시 403 에러 코드 반환
리소스 액세스 오류
POST Object 자주 발생하는 오류
보안 및 컴플라이언스
데이터 재해 복구
데이터 보안
액세스 관리
자주 묻는 질문
인기 질문
일반 문제
과금
도메인 규정 준수 문제
버킷 설정 문제
도메인 및 CDN 문제
파일 작업 문제
로그 모니터링 문제
권한 관리
데이터 처리 문제
데이터 보안 문제
사전 서명 URL 관련 문제
SDK FAQ
툴 관련 문제
API 관련 문제
Agreements
Service Level Agreement
개인 정보 보호 정책
데이터 처리 및 보안 계약
연락처
용어집
문서Cloud Object Storage

Hash Calculation

포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-02-04 15:40:24

Overview

This document provides an overview of APIs and SDK code samples for hash calculation.
API
Description
Uses a sync GET request to perform hash calculation and return a calculated hash value in real time.
Submits a hash calculation job through a POST request. You can submit a job to perform hash calculation and asynchronously return a calculated hash value.
Queries the result of a specified hash calculation job.

Sync Request for Hash Calculation

Feature description

This API uses a sync GET request to perform hash calculation and return a calculated hash value in real time.

Method prototype

public Guzzle\\Service\\Resource\\Model FileJobs4Hash(array $args = array());

Sample request

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket.
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// https://www.tencentcloud.com/document/product/436/53990: Sync Request for Hash Calculation
$result = $cosClient->FileJobs4Hash(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
'Key' => 'for-test.mp4', // File in the bucket
'Type' => 'md5', // Supported hash algorithm. Valid values: `md5`, `sha1`, `sha256`
// 'AddToHeader' => 'true', // Whether to automatically add the calculated hash value to the custom header in the file. Format: x-cos-meta-md5/sha1/sha256. Valid values: `true`, `false`. If this parameter is left empty, it is `false` by default.
));
// Request succeeded
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
/**
* Possible exceptions
* 1. Error Message: file processing is not active yet, please apply for file processing service first
* Solution: Activate the file processing service.
*/
}

Parameter description

Request has the following sub-nodes:
Parameter
Type
Description
Required
Bucket
String
Bucket name in the format of BucketName-APPID
Yes
Key
String
File in the bucket
Yes
Type
String
Supported hash algorithm. Valid values: md5, sha1, sha256
Yes
AddToHeader
String
Whether to automatically add the calculated hash value to the custom header in the file. Format: x-cos-meta-md5/sha1/sha256. Valid values: true, false. If this parameter is left empty, it is false by default.
No

Sample response

GuzzleHttp\\Command\\Result Object
(
[RequestId] => NjNkOGM2NmVfZTYxNmY5MSAASJPOJCIANSIDNAI
[ContentType] => application/xml
[ContentLength] => 421
[FileHashCodeResult] => Array
(
[Etag] => "1f3ede740849eaa2e79e9b269ea3db2a"
[LastModified] => 2023-01-29T11:31:02+0000
[MD5] => 1f3ede740849eaa2e79e9b269ea3db2a
[FileSize] => 42120
)

[Input] => Array
(
[Region] => ap-guangzhou
[Bucket] => examplebucket-1250000000
[Object] => sound01.mp3
)

[Key] => sound01.mp3
[Bucket] => examplebucket-1250000000
[Location] => examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/sound01.mp3
)

Submitting a Hash Calculation Job

Feature description

This API adopts a POST request method. You can submit a job to perform hash calculation and asynchronously return a calculated hash value.

Method prototype

public Guzzle\\Service\\Resource\\Model createFileHashCodeJobs(array $args = array());

Sample request

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket.
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', // Protocol, which is `http` by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// https://www.tencentcloud.com/document/product/436/53991: Submitting a Hash Calculation Job Asynchronously
$result = $cosClient->createFileHashCodeJobs(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
'Tag' => 'FileHashCode',
// 'QueueId' => 'pcc3ae89sa9d807fs89dg789sdg',
'Input' => array(
'Object' => 'test.mp4',
),
'Operation' => array(
'UserData' => 'xxx',
'FileHashCodeConfig' => array(
'Type' => 'MD5',
'AddToHeader' => 'true',
),
),
// 'CallBackFormat' => '',
// 'CallBackType' => '',
// 'CallBack' => '',
// 'CallBackMqConfig' => array(
// 'MqRegion' => '',
// 'MqMode' => '',
// 'MqName' => '',
// ),
));
// Request succeeded
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
}

Parameter description

Request has the following sub-nodes:
Node Name (Keyword)
Parent Node
Description
Type
Required
Tag
Request
Job type. It is FileHashCode for hash calculation by default.
String
Yes
Input
Request
Information about the file to be operated
Container
Yes
Operation
Request
Hash calculation rule
Container
Yes
QueueId
Request
ID of the queue where the job is in
String
Yes
CallBackFormat
Request
Job callback format, which can be JSON or XML (default). It takes priority over that of the queue.
String
No
CallBackType
Request
Job callback type, which can be Url (default) or TDMQ. It takes priority over that of the queue.
String
No
CallBack
Request
Job callback address. It takes priority over that of the queue.
String
No
CallBackMqConfig
Request
TDMQ configuration for job callback as described in Structure > CallBackMqConfig, which is required if CallBackType is TDMQ.
Container
No
Input has the following sub-nodes:
Node Name (Keyword)
Parent Node
Description
Type
Required
Object
Request.Input
File name, which is the full name of the file in the bucket.
String
Yes
Operation has the following sub-nodes:
Node Name (Keyword)
Parent Node
Description
Type
Required
FileHashCodeConfig
Request.Operation
Hash calculation rule
Container
Yes
UserData
Request.Operation
The user information passed through, which is printable ASCII codes of up to 1,024 in length.
String
No
FileHashCodeConfig has the following sub-nodes:
Node Name (Keyword)
Parent Node
Description
Type
Required
Type
Request.Operation.FileHashCodeConfig
Hash algorithm. Valid values: MD5, SHA1, SHA256
String
Yes
AddToHeader
Request.Operation.FileHashCodeConfig
Whether to add the calculated hash value to the custom header in the file. Valid values: true, false (default). The custom header varies depending on Type. For example, if Type is MD5, the custom header is x-cos-meta-md5.
String
No

Sample response

GuzzleHttp\\Command\\Result Object
(
[RequestId] => NjNkOGM2NmVfZTYxNmY5MSAASJPOJCIANSIDNAI=
[ContentType] => application/xml
[ContentLength] => 738
[JobsDetail] => Array
(
[Progress] => 0
[Code] => Success
[Message] =>
[JobId] => fcd32dbdaa13b11esa9ds8g0d98gd0h85
[Tag] => FileHashCode
[State] => Submitted
[CreationTime] => 2023-01-31T15:49:33+0800
[StartTime] => -
[EndTime] => -
[QueueId] => pcc3ae89sa9d807fs89dg789sdg
[Input] => Array
(
[BucketId] => examplebucket-1250000000
[Region] => ap-guangzhou
[Object] => sound01.mp3
)

[Operation] => Array
(
[JobLevel] => 0
[UserData] => xxx
[FileHashCodeConfig] => Array
(
[Type] => MD5
[AddToHeader] => true
)

)

)

[Bucket] => examplebucket-1250000000
[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/file_jobs
)

Querying Hash Calculation Result

Feature description

This API is used to query the result of a specified hash calculation job.

Method prototype

public Guzzle\\Service\\Resource\\Model getFileHashCodeResult(array $args = array());

Sample request

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //Replace it with the actual `SecretId`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$secretKey = "SECRETKEY"; //Replace it with the actual `SecretKey`, which can be viewed and managed in the CAM console at https://console.tencentcloud.com/cam/capi
$region = "ap-beijing"; //Replace it with the actual `region`, which can be viewed in the console at https://console.tencentcloud.com/cos5/bucket.
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //Protocol, which is http by default
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// https://www.tencentcloud.com/document/product/436/53992: Querying Hash Calculation Result
$result = $cosClient->getFileHashCodeResult(array(
'Bucket' => 'examplebucket-1250000000', // Bucket name in the format of `BucketName-Appid`, which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
'Key' => '', // jobId
));
// Request succeeded
print_r($result);
} catch (\\Exception $e) {
// Request failed
echo($e);
}

Parameter description

Request has the following sub-nodes:
Parameter
Type
Description
Required
Bucket
String
Bucket name in the format of BucketName-APPID
Yes
Key
String
jobId
Yes

Sample response

GuzzleHttp\\Command\\Result Object
(
[RequestId] => NjNkOGM2NmVfZTYxNmY5MSAASJPOJCIANSIDNAI=
[ContentType] => application/xml
[ContentLength] => 1048
[JobsDetail] => Array
(
[Progress] => 100
[Code] => Success
[Message] => success
[JobId] => fcd32dbdaa13b11esa9ds8g0d98gd0h85
[Tag] => FileHashCode
[State] => Success
[CreationTime] => 2023-01-31T15:49:33+0800
[StartTime] => 2023-01-31T15:49:33+0800
[EndTime] => 2023-01-31T15:49:34+0800
[QueueId] => pcc3ae89sa9d807fs89dg789sdg
[Input] => Array
(
[BucketId] => examplebucket-1250000000
[Region] => ap-guangzhou
[Object] => sound01.mp3
)

[Operation] => Array
(
[JobLevel] => 0
[UserData] => xxx
[FileHashCodeConfig] => Array
(
[Type] => MD5
[AddToHeader] => true
)

[FileHashCodeResult] => Array
(
[MD5] => 1f3ede740849eaa2e79e9b269ea3db2a
[LastModified] => 2023-01-29T11:31:02+0000
[Etag] => "1f3ede740849eaa2e79e9b269ea3db2a"
[FileSize] => 42120
)

)

)

[Key] => fcd32dbdaa13b11esa9ds8g0d98gd0h85
[Bucket] => examplebucket-1250000000
[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/file_jobs/fcd32dbdaa13b11esa9ds8g0d98gd0h85
)


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백