最近更新时间:2025-07-25 18:58:01
CreateJob接口用于在存储桶中创建批量处理任务。
使用此接口的用户,必须是主账号或具有ks3:CreateJob权限。
使用此接口的用户,必须已经在控制台开通批量处理角色授权(KsyunKS3BucketLoggingProcessingRole)。
PUT /?jobs HTTP/1.1
Host: ks3-cn-beijing.ksyuncs.com
Date: {date}
Authorization: {SignatureValue}
Job written in XML该接口仅使用公共请求头。
请求体为一段描述批量处理规则的XML:
<CreateJobRequest>
<ClientRequestToken>184ce261-18af-5e3d-3e30-253723cfd937</ClientRequestToken>
<Description>example-job</Description>
<Manifest>
<Location>
<Filter>
<Bucket>krn:ksc:ks3:::bucket1</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
<Filter>
<Bucket>krn:ksc:ks3:::bucket2</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
</Location>
<Spec>
<Format>KS3BatchOperations_Bucket_V1</Format>
</Spec>
</Manifest>
<Operation>
<KS3RestoreObject>
<StorageClass>ARCHIVE</StorageClass>
<Days>2</Days>
</KS3RestoreObject>
</Operation>
<Priority>1</Priority>
<Report>
<Enabled>true</Enabled>
<Bucket>krn:ksc:ks3:::bucket</Bucket>
<Prefix>job-result</Prefix>
<ReportScope>FailedTasksOnly</ReportScope>
</Report>
</CreateJobRequest>请求体内相关元素的具体描述如下:
名称 | 描述 | 是否必选 |
|---|---|---|
CreateJobRequest | 批量处理配置规则的容器。
| 是 |
ClientRequestToken | 每个请求唯一的 token,用于避免前端重复发起同一批处理任务。长度为1 - 64字节,建议使用uuid。
1. 仅支持数字、字母、横线(-)。 2. 同一个UID下的ClientRequestToken必须唯一。 3. 创建任务时设置的ClientRequestToken不能与近48小时内已删除的规则ClientRequestToken重复。 | 是 |
Description | 任务描述。描述长度范围为0 - 256字节。
仅支持字母、数字、中文、下划线(_)和横线(-)的组合。 | 否 |
Manifest | 待处理的文件信息。
| 是 |
Location | 待处理的文件位置信息。
| 是 |
Filter | 指定需要进行批量操作的桶或前缀。
单个规则可以同时设置多个Filter来实现对不同桶内的不同前缀进行批量处理。单个规则最多支持设置100个Filter。 | 是 |
Bucket | 指定需要进行批量操作桶的资源标识符。
单个Filter内仅支持填写一个桶名称,如果需要同时对多个桶设置批量处理规则,可通过设置多个Filter实现。 | 是 |
Prefix | 指定需要进行批量操作的前缀。
1. 单个Filter内填写的Prefix不支持重叠。 2. 单个Filter内支持填写多个前缀,表示对桶内多个指定前缀的文件进行批量处理。 3. Prefix参数值设置为空,表示对桶内的全部文件进行批量操作。 4. 单个Filter内最多支持填写1000个Prefix。 | 是 |
Spec | 描述待处理文件列表的格式信息。
| 是 |
Format | 指定待处理文件列表的格式信息。固定取值:
| 是 |
Operation | 选择要执行的具体操作。支持批量解冻、批量修改ACL、批量删除操作。
单个任务中Operation只能设置一种操作类型(批量解冻/批量修改ACL/批量删除)。 | 是 |
KS3RestoreObject | 对归档类型文件批量执行解冻操作的具体参数。
| 否 |
StorageClass | 表示需要解冻的存储类型。
| 当Operation选择KS3RestoreObject时,必选该参数。 |
Days | 设置解冻持续时间。
| 当Operation选择KS3RestoreObject时,必选该参数。 |
KS3PutObjectAcl | 批量设置ACL的具体参数。
| 否 |
CannedAccessControlList | 预定义ACL,针对所有用户生效。
1. 设置为 2. 设置为 | 否 |
AccessControlList | 针对指定用户设置ACL权限。
| 否 |
Grant | 包含被授权者和其ACL信息。
单条规则最多支持设置100条Grant。 | 否 |
Grantee | 被授权者的账号(UID)信息。
1. 单个Grantee参数仅支持传入一个账号信息。 2. 仅支持针对UID授予ACL权限。 | 否 |
Permission | 指明授予被授权者的权限信息。
1. 2. | 否 |
KS3DeleteObject | 对文件批量执行删除操作的具体参数。
对文件批量执行删除操作时,该参数取值设置为空即可。 | 否 |
Priority | 任务优先级。取值越大表示任务执行的优先级越高。
| 是 |
Report | 任务完成报告。仅支持导出操作失败列表报告。
有关任务完成报告的详细内容,请参见文档:批量处理。 | 是 |
Enabled | 是否输出任务完成报告。
取值为true表示输出任务完成报告,取值为false表示不输出任务完成报告。 | 是 |
Bucket | 任务完成报告的投递存储桶。
| 当Enabled取值为true时,必选该参数。 |
Prefix | 任务完成报告投递的前缀信息。
| 否 |
ReportScope | 任务完成报告内容类型。
| 当Enabled取值为true时,必选该参数。 |
该接口仅返回公共响应头部。
<CreateJobResult>
<JobId>string</JobId>
</CreateJobResult>响应体具体参数描述如下:
节点名 | 描述 |
CreateJobResult | 包含任务ID的容器。
|
JobId | 任务ID。规则创建成功后,KS3会自动返回该参数,每个规则对应唯一的任务ID。
JobId的值与请求参数ClientRequestToken值一致。 |
PUT /?jobs HTTP/1.1
Host: ks3-cn-beijing.ksyuncs.com
Date: Wed, 14 May 2025 02:11:21 GMT
Authorization: authorization string
<CreateJobRequest>
<ClientRequestToken>184ce261-18af-5e3d-3e30-253723cfd937</ClientRequestToken>
<Description>example-job</Description>
<Manifest>
<Location>
<Filter>
<Bucket>krn:ksc:ks3:::bucket1</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
<Filter>
<Bucket>krn:ksc:ks3:::bucket2</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
</Location>
<Spec>
<Format>KS3BatchOperations_Bucket_V1</Format>
</Spec>
</Manifest>
<Operation>
<KS3RestoreObject>
<StorageClass>ARCHIVE</StorageClass>
<Days>2</Days>
</KS3RestoreObject>
</Operation>
<Priority>1</Priority>
<Report>
<Enabled>true</Enabled>
<Bucket>krn:ksc:ks3:::bucket1</Bucket>
<Prefix>job-result</Prefix>
<ReportScope>FailedTasksOnly</ReportScope>
</Report>
</CreateJobRequest>HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 0
Date: Wed, 14 May 2025 02:11:21 GMT
Server: ks3
x-kss-request-id: 5CAC0AD16D0232E2051B****
<CreateJobResult>
<JobId>184ce261-18af-5e3d-3e30-253723cfd937</JobId>
</CreateJobResult>针对全部用户设置ACL权限请求示例:
PUT /?jobs HTTP/1.1
Host:ks3-cn-beijing.ksyuncs.com
Date: Wed, 14 May 2025 02:11:21 GMT
Authorization: authorization string
<CreateJobRequest>
<ClientRequestToken>184ce261-18af-5e3d-3e30-253723cfd937</ClientRequestToken>
<Description>example-job</Description>
<Manifest>
<Location>
<Filter>
<Bucket>krn:ksc:ks3:::bucket1</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
<Filter>
<Bucket>krn:ksc:ks3:::bucket2</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
</Location>
<Spec>
<Format>KS3BatchOperations_Bucket_V1</Format>
</Spec>
</Manifest>
<Operation>
<KS3PutObjectAcl>
<CannedAccessControlList>private</CannedAccessControlList>
</KS3PutObjectAcl>
</Operation>
<Priority>1</Priority>
<Report>
<Enabled>true</Enabled>
<Bucket>krn:ksc:ks3:::bucket</Bucket>
<Prefix>job-result</Prefix>
<ReportScope>FailedTasksOnly</ReportScope>
</Report>
</CreateJobRequest>指定用户设置ACL权限请求示例:
PUT /?jobs HTTP/1.1
Host:ks3-cn-beijing.ksyuncs.com
Date: Wed, 14 May 2025 02:11:21 GMT
Authorization: authorization string
<CreateJobRequest>
<ClientRequestToken>184ce261-18af-5e3d-3e30-253723cfd937</ClientRequestToken>
<Description>example-job</Description>
<Manifest>
<Location>
<Filter>
<Bucket>krn:ksc:ks3:::bucket1</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
<Filter>
<Bucket>krn:ksc:ks3:::bucket2</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
</Location>
<Spec>
<Format>KS3BatchOperations_Bucket_V1</Format>
</Spec>
</Manifest>
<Operation>
<KS3PutObjectAcl>
<AccessControlList>
<Grant>
<Grantee>12345678</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
<Grant>
<Grantee>87654321</Grantee>
<Permission>READ</Permission>
</Grant>
</AccessControlList>
</KS3PutObjectAcl>
</Operation>
<Priority>1</Priority>
<Report>
<Enabled>true</Enabled>
<Bucket>krn:ksc:ks3:::bucket</Bucket>
<Prefix>job-result</Prefix>
<ReportScope>FailedTasksOnly</ReportScope>
</Report>
</CreateJobRequest>HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 0
Date: Wed, 14 May 2025 02:11:21 GMT
Server: ks3
x-kss-request-id: 5CAC0AD16D0232E2051B****
<CreateJobResult>
<JobId>184ce261-18af-5e3d-3e30-253723cfd937</JobId>
</CreateJobResult>PUT /?jobs HTTP/1.1
Host:ks3-cn-beijing.ksyuncs.com
Date: Wed, 14 May 2025 02:11:21 GMT
Authorization: authorization string
<CreateJobRequest>
<ClientRequestToken>184ce261-18af-5e3d-3e30-253723cfd937</ClientRequestToken>
<Description>example-job</Description>
<Manifest>
<Location>
<Filter>
<Bucket>krn:ksc:ks3:::bucket1</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
<Filter>
<Bucket>krn:ksc:ks3:::bucket2</Bucket>
<Prefix>Prefix1</Prefix>
<Prefix>Prefix2</Prefix>
</Filter>
</Location>
<Spec>
<Format>KS3BatchOperations_Bucket_V1</Format>
</Spec>
</Manifest>
<Operation>
<KS3DeleteObject></KS3DeleteObject>
</Operation>
<Priority>1</Priority>
<Report>
<Enabled>true</Enabled>
<Bucket>krn:ksc:ks3:::bucket</Bucket>
<Prefix>job-result</Prefix>
<ReportScope>FailedTasksOnly</ReportScope>
</Report>
</CreateJobRequest>HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 0
Date: Wed, 14 May 2025 02:11:21 GMT
Server: ks3
x-kss-request-id: 5CAC0AD16D0232E2051B****
<CreateJobResult>
<JobId>184ce261-18af-5e3d-3e30-253723cfd937</JobId>
</CreateJobResult>状态码(Status) | 错误码(Code) | 描述 |
400 Bad Request | InvalidRequest | 存在以下情况:
|
400 Bad Request | InvalidArgument | 存在以下情况:
|
400 Bad Request | MalformedXML | 请求体不符合XML语法 |
403 Forbidden | AccessDenied | 缺少权限 |
纯净模式
