最近更新时间:2025-08-20 20:02:36
以下代码用于创建批量处理任务:
public void createJob() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
// 创建 CreateJobRequest 对象,设置 uid
CreateJobRequest request = new CreateJobRequest();
// 设置任务描述
request.setDescription("this-is-a-test-job");
// 设置任务优先级
request.setPriority(100);
// 任务操作,支持 RestoreObjectOperation、DeleteObjectOperation、PutObjectAclOperation
// 新建 RestoreObjectOperation 对象
RestoreObjectOperation operation = new RestoreObjectOperation();
// 设置存储类型
operation.setStorageClass(StorageClass.Archive.toString());
// 设置解冻优先级
operation.setJobTier(RestoreTier.STANDARD);
// 设置解冻天数
operation.setExpirationInDays(7);
// 新建删除操作
// DeleteObjectOperation operation = new DeleteObjectOperation();
// 新建 PutObjectAclOperation 对象
// PutObjectAclOperation operation = new PutObjectAclOperation();
// 设置对象 ACL
// operation.setCannedAccessControlList(CannedAccessControlList.Private);
// 或者设置自定义 ACL
// AccessControlList accessControlList = new AccessControlList();
// accessControlList.addGrant(new GranteeId("user-id-1"), Permission.Write);
// accessControlList.addGrant(new GranteeId("user-id-2"), Permission.Read);
// operation.setAccessControlList(accessControlList);
// 设置任务操作
request.setOperation(operation);
// 初始化任务操作对象的清单
Manifest manifest = new Manifest();
// 初始化清单的位置
Location location = new Location();
// 当 format 为 Spec.FORMAT_BUCKET 时,设置清单对象的前缀
List<Filter> filters = new ArrayList<>();
filters.add(new Filter("krn:ksc:ks3:::bucket-1", "my_prefix_1/", "my_prefix_2/"));
filters.add(new Filter("krn:ksc:ks3:::bucket-2", "my_prefix_1/", "my_prefix_2/"));
location.setFilters(filters);
// 设置任务操作对象清单的位置
manifest.setLocation(location);
// 操作对象清单的描述
Spec spec = new Spec();
// 设置清单格式,可选值:Spec.FORMAT_BUCKET
spec.setFormat(Spec.FORMAT_CSV);
// 设置任务操作对象清单的描述
manifest.setSpec(spec);
// 设置任务操作对象清单
request.setManifest(manifest);
// 初始化任务报告
Report report = new Report();
// 设置报告范围,可选值:Report.SCOPE_FAILED
report.setReportScope(Report.SCOPE_FAILED);
// 设置报告存储桶及前缀
report.setBucketKrn("krn:ksc:ks3:::bucket-1");
report.setPrefix("report/");
// 设置报告状态,可选值:true,false
report.setEnabled(true);
// 设置任务报告
request.setReport(report);
// 发送请求,创建批量处理任务
CreateJobResult createJobResult = ks3Client.createJob(request);
System.out.println("JobId: " + createJobResult.getJobId());
} 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();
}
}
纯净模式
