产品动态
产品公告
qcloud_cos::CosAPI InitCosAPI() {uint64_t appid = 12500000000;std::string region = "ap-guangzhou";// bucket 的地域,请参见 https://www.tencentcloud.com/document/product/436/62?from_cn_redirect=1std::string secret_id = "************************************"; //用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1std::string secret_key = "***********************************"; //用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1qcloud_cos::CosConfig config(appid, tmp_secret_id, tmp_secret_key, region);qcloud_cos::CosAPI cos_tmp(config);return cos_tmp;}
qcloud_cos::CosAPI InitCosAPI() {// 需要已经获取到临时密钥的结果:tmp_secret_id、tmp_secret_key、// 临时密钥的生成参见 https://www.tencentcloud.com/document/product/436/14048?from_cn_redirect=1#cos-sts-sdkuint64_t appid = 12500000000;std::string region = "ap-guangzhou";std::string tmp_secret_id = "************************************";std::string tmp_secret_key = "***********************************";std::string tmp_token = "token";qcloud_cos::CosConfig config(appid, tmp_secret_id, tmp_secret_key, region);config.SetTmpToken(tmp_token);qcloud_cos::CosAPI cos_tmp(config);return cos_tmp;}
void PutObjectByFileDemo(qcloud_cos::CosAPI& cos) {std::string object_name = "test.txt";std::string file_path = "./test_file/text.txt";qcloud_cos::PutObjectByFileReq req(bucket_name, object_name, file_path);req.SetXCosServerSideEncryption("AES256");qcloud_cos::PutObjectByFileResp resp;qcloud_cos::CosResult result = cos.PutObject(req, &resp);std::cout << "====================PutObjectByFile======================" << std::endl;PrintResult(result, resp);std::cout << "=========================================================" << std::endl;}
void PutObjectByFileDemo(qcloud_cos::CosAPI& cos) {std::string object_name = "test.txt";std::string file_path = "./test_file/text.txt";qcloud_cos::PutObjectByFileReq req(bucket_name, object_name, file_path);req.SetHttps();req.TurnOffComputeConentMd5();req.AddHeader("x-cos-server-side-encryption-customer-algorithm", "AES256"); // 服务端加密算法,目前仅支持 AES256req.AddHeader("x-cos-server-side-encryption-customer-key","key"); // 服务端加密密钥的 Base64 编码, 例如MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=req.AddHeader("x-cos-server-side-encryption-customer-key-MD5","key-MD5"); // 服务端加密密钥的 MD5 哈希值,使用 Base64 编码 例如U5L61r7jcwdNvT7frmUG8g==// 这里 MD5 哈希值的 Base64 编码,需在二进制编码的 MD5 基础上计算qcloud_cos::PutObjectByFileResp resp;qcloud_cos::CosResult result = cos.PutObject(req, &resp);std::cout << "====================PutObjectByFile======================" << std::endl;PrintResult(result, resp);std::cout << "=========================================================" << std::endl;}void GetObjectByFileDemo(qcloud_cos::CosAPI& cos) {std::string object_name = "test.txt";std::string file_path = "./test_file/text2.txt";qcloud_cos::GetObjectByFileReq req(bucket_name, object_name, file_path);req.SetHttps();req.SetCheckMD5(false);req.AddHeader("x-cos-server-side-encryption-customer-algorithm", "AES256"); // 服务端加密算法,目前仅支持 AES256req.AddHeader("x-cos-server-side-encryption-customer-key","key"); // 服务端加密密钥的 Base64 编码, 例如MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=req.AddHeader("x-cos-server-side-encryption-customer-key-MD5","key-MD5"); // 服务端加密密钥的 MD5 哈希值,使用 Base64 编码 例如U5L61r7jcwdNvT7frmUG8g==qcloud_cos::GetObjectByFileResp resp;qcloud_cos::CosResult result = cos.GetObject(req, &resp);std::cout << "===================GetObjectResponse=====================" << std::endl;PrintResult(result, resp);std::cout << "=========================================================" << std::endl;}
void PutObjectByFileDemo(qcloud_cos::CosAPI& cos) {std::string object_name = "test.txt";std::string file_path = "./test_file/text.txt";qcloud_cos::PutObjectByFileReq req(bucket_name, object_name, file_path);req.SetXCosServerSideEncryption("cos/kms");req.TurnOffComputeConentMd5();req.AddHeader("x-cos-server-side-encryption-cos-kms-key-id","key-id"); // 指定 KMS 的用户主密钥 CMK,如不指定,则使用 COS 默认创建的 CMKreq.AddHeader("x-cos-server-side-encryption-context","context"); // 指定加密上下文,值为 JSON 格式加密上下文键值对的 Base64 编码。例如eyJhIjoiYXNkZmEiLCJiIjoiMTIzMzIxIn0=qcloud_cos::PutObjectByFileResp resp;qcloud_cos::CosResult result = cos.PutObject(req, &resp);std::cout << "====================PutObjectByFile======================" << std::endl;PrintResult(result, resp);std::cout << "=========================================================" << std::endl;}void GetObjectByFileDemo(qcloud_cos::CosAPI& cos) {std::string object_name = "test.txt";std::string file_path = "./test_file/text2.txt";qcloud_cos::GetObjectByFileReq req(bucket_name, object_name, file_path);req.SetHttps();req.SetCheckMD5(false);qcloud_cos::GetObjectByFileResp resp;qcloud_cos::CosResult result = cos.GetObject(req, &resp);std::cout << "===================GetObjectResponse=====================" << std::endl;PrintResult(result, resp);std::cout << "=========================================================" << std::endl;}
文档反馈