最近更新时间:2026-06-03 21:32:12
以下代码用于设置访问者 QOS 配置:
public void putRequesterQos() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
// 创建 Quota 对象,设置 HDD 存储介质的配额(存储类型为标准及更冷类型的数据存储在 HDD 上),单位为 Gbps
Quota normalQuota = new Quota();
normalQuota.setStorageMedium(StorageMedium.Normal);
normalQuota.setExtranetUploadBandwidth(1000);
normalQuota.setIntranetUploadBandwidth(800);
normalQuota.setExtranetDownloadBandwidth(500);
normalQuota.setIntranetDownloadBandwidth(400);
normalQuota.setOccupyExtranetUploadBandwidth(1000);
normalQuota.setOccupyIntranetUploadBandwidth(800);
normalQuota.setOccupyExtranetDownloadBandwidth(500);
normalQuota.setOccupyIntranetDownloadBandwidth(400);
// 创建 Quota 对象,设置 SSD 存储介质的配额(存储类型为 EXTREME_* 的数据存储在 SSD 上),单位为 Gbps
Quota extremeQuota = new Quota();
extremeQuota.setStorageMedium(StorageMedium.Extreme);
extremeQuota.setExtranetUploadBandwidth(2000);
extremeQuota.setIntranetUploadBandwidth(1600);
extremeQuota.setExtranetDownloadBandwidth(1000);
extremeQuota.setIntranetDownloadBandwidth(800);
extremeQuota.setOccupyExtranetUploadBandwidth(2000);
extremeQuota.setOccupyIntranetUploadBandwidth(1600);
extremeQuota.setOccupyExtranetDownloadBandwidth(1000);
extremeQuota.setOccupyIntranetDownloadBandwidth(800);
// 创建用户 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());
System.out.println("Occupy Extranet Upload Bandwidth: " + quota.getOccupyExtranetUploadBandwidth());
System.out.println("Occupy Intranet Upload Bandwidth: " + quota.getOccupyIntranetUploadBandwidth());
System.out.println("Occupy Extranet Download Bandwidth: " + quota.getOccupyExtranetDownloadBandwidth());
System.out.println("Occupy Intranet Download Bandwidth: " + quota.getOccupyIntranetDownloadBandwidth());
}
}
} 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();
}
}
纯净模式
