单链接限速

最近更新时间:2024-05-21 10:43:33

我的收藏

简介

本文档提供关于单链接限速相关的介绍和 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/37140
String secretKey = System.getenv("secretKey");//用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
COSCredentials 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/37140
String secretKey = System.getenv("secretKey");//用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://cloud.tencent.com/document/product/598/37140
COSCredentials 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 查看。