简介
本文档提供关于单链接限速相关的介绍和 SDK 示例代码。
使用说明
限速值设置范围为819200 - 838860800,单位默认为 bit/s,即800Kb/s - 800Mb/s,如果超出该范围将返回400错误。
说明:
设置上传限速
// 初始化用户身份信息(secretId, secretKey)// SECRETID 和 SECRETKEY 请登录访问管理控制台 https://console.cloud.tencent.com/cam/capi 进行查看和管理String secretId = System.getenv("secretId");//用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140String secretKey = System.getenv("secretKey");//用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140COSCredentials cred = new BasicCOSCredentials(secretId, secretKey); // 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224 ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou")); // 生成cos客户端 COSClient cosClient = new COSClient(cred, clientConfig);String bucketName = "mybucket-12500000000";String key = "abc/def.txt"; // 这里创建一个 ByteArrayInputStream 来作为示例,实际中这里应该是您要上传的 InputStream 类型的流 int inputStreamLength = 1024 * 1024; byte data[] = new byte[inputStreamLength]; InputStream inputStream = new ByteArrayInputStream(data); ObjectMetadata objectMetadata = new ObjectMetadata(); // 上传的流如果能够获取准确的流长度,则推荐一定填写 content-length // 如果确实没办法获取到,则下面这行可以省略,但同时高级接口也没办法使用分块上传了 objectMetadata.setContentLength(inputStreamLength); PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, inputStream, objectMetadata); // 设置单链接限速(如有需要),不需要可忽略 putObjectRequest.setTrafficLimit(8*1024*1024); try { PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest); System.out.println(putObjectResult.getRequestId()); } catch (CosServiceException e) { e.printStackTrace(); } catch (CosClientException e) { e.printStackTrace(); } finally {cosClient.shutdown();}
设置下载限速
// 初始化用户身份信息(secretId, secretKey)// SECRETID 和 SECRETKEY 请登录访问管理控制台 https://console.cloud.tencent.com/cam/capi 进行查看和管理String secretId = System.getenv("secretId");//用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140String secretKey = System.getenv("secretKey");//用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140COSCredentials cred = new BasicCOSCredentials(secretId, secretKey); // 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224 ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou")); // 生成cos客户端 COSClient cosClient = new COSClient(cred, clientConfig);String key = "test/my_test.json"; String bucketName = "mybucket-12500000000"; GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key); // 设置下载的单链接限速(如有需要),不需要可忽略 getObjectRequest.setTrafficLimit(8*1024*1024); try { File localFile = new File("my_test.json"); ObjectMetadata objectMetadata = cosClient.getObject(getObjectRequest, localFile); System.out.println(objectMetadata.getContentLength()); } catch (CosServiceException cse) { cse.printStackTrace(); } catch (CosClientException cce) { cce.printStackTrace(); } finally {cosClient.shutdown();}
相关示例
关于设置上传限速的完整示例,请前往 GitHub 查看。
关于设置下载限速的完整示例,请前往 GitHub 查看。