最近更新时间:2025-10-30 20:20:26
以下代码用于设置访问者 QOS 配置:
public void putRequesterQos() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
// 创建 Quota 对象,设置 HDD 存储介质的配额(存储类型为标准及更冷类型的数据存储在 HDD 上),单位为Gb/s
Quota normalQuota = new Quota();
normalQuota.setStorageMedium(StorageMedium.Normal);
normalQuota.setExtranetUploadBandwidth(1000L);
normalQuota.setIntranetUploadBandwidth(800L);
normalQuota.setExtranetDownloadBandwidth(500L);
normalQuota.setIntranetDownloadBandwidth(400L);
// 创建 Quota 对象,设置 SSD 存储介质的配额(存储类型为 EXTREME_* 的数据存储在 SSD 上),单位为Gb/s
Quota extremeQuota = new Quota();
extremeQuota.setStorageMedium(StorageMedium.Extreme);
extremeQuota.setExtranetUploadBandwidth(2000L);
extremeQuota.setIntranetUploadBandwidth(1600L);
extremeQuota.setExtranetDownloadBandwidth(1000L);
extremeQuota.setIntranetDownloadBandwidth(800L);
// 创建用户 1 的 QOS 规则,并设置 HDD 和 SSD 的配额
RequesterQosConfiguration.Rule rule = new RequesterQosConfiguration.Rule();
rule.setUserType("User");
rule.setKrn("<account-id>/<user-name>");
rule.addQuota(normalQuota);
rule.addQuota(extremeQuota);
// 创建 RequesterQosConfiguration 对象,设置访问者的 QOS 配置
RequesterQosConfiguration requesterQos = new RequesterQosConfiguration();
// 添加 Rule 到 RequesterQosConfiguration 对象
// 如果需要可以添加更多访问者的 QOS 规则
requesterQos.addRule(rule);
// 发起请求,设置访问者的 QOS 配置
ks3Client.putRequesterQos("bucketName", requesterQos);
} catch (Ks3ServiceException e) {
System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Error Code: " + e.getErrorCode());
System.out.println("Request ID: " + e.getRequestId());
} catch (Ks3ClientException e) {
System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
System.out.println("Error Message: " + e.getMessage());
} finally {
// 不再使用时,关闭 Ks3Client
ks3Client.shutdown();
}
}以下代码用于获取访问者 QOS 配置:
public void getRequesterQos() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
// 获取访问者的 QOS 配置
RequesterQosConfiguration requesterQos = ks3Client.getRequesterQos("bucketName");
for (RequesterQosConfiguration.Rule rule : requesterQos.getRules()) {
System.out.println("User type: " + rule.getUserType());
System.out.println("Krn: " + rule.getKrn());
for (Quota quota : rule.getQuotaList()) {
System.out.println("Storage Medium: " + quota.getStorageMedium());
System.out.println("Extranet Upload Bandwidth: " + quota.getExtranetUploadBandwidth());
System.out.println("Intranet Upload Bandwidth: " + quota.getIntranetUploadBandwidth());
System.out.println("Extranet Download Bandwidth: " + quota.getExtranetDownloadBandwidth());
System.out.println("Intranet Download Bandwidth: " + quota.getIntranetDownloadBandwidth());
}
}
} catch (Ks3ServiceException e) {
System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Error Code: " + e.getErrorCode());
System.out.println("Request ID: " + e.getRequestId());
} catch (Ks3ClientException e) {
System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
System.out.println("Error Message: " + e.getMessage());
} finally {
// 不再使用时,关闭 Ks3Client
ks3Client.shutdown();
}
}以下代码用于删除访问者 QOS 配置:
public void deleteRequesterQos() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
// 删除访问者的 QOS 配置
ks3Client.deleteRequesterQos("bucketName");
} catch (Ks3ServiceException e) {
System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Error Code: " + e.getErrorCode());
System.out.println("Request ID: " + e.getRequestId());
} catch (Ks3ClientException e) {
System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
System.out.println("Error Message: " + e.getMessage());
} finally {
// 不再使用时,关闭 Ks3Client
ks3Client.shutdown();
}
}
纯净模式
