全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

批量处理

最近更新时间:2025-11-12 15:35:01

如果您希望对存储桶中的文件批量执行解冻、修改ACL、删除文件操作,您可以使用KS3的批量处理功能。

前提条件

  • 创建批量任务前,您需要授权KS3向您的存储桶中读写文件,您可以根据KS3控制台提示完成授权。如果您之前已授权,则无需重复授权。

  • 创建、获取、列举、更改、删除批量处理任务等操作,必须是主账号或具有相应的操作权限。

计量计费

创建批量处理任务会产生额外收费,KS3会按创建的任务数和对象处理量进行收费,费用详情如下所示:

计费方式

计费项

计费方法

按量计费

任务数费用

任务数费用=创建的任务数 x 单价

对象处理量费用

对象处理量费用=每处理万个对象 x 单价

1. 收取对象处理量费用后将不再收取对象普通的PUT类请求次数费用。

2. 具体价格信息请参见文档:价格详情

支持的批量操作

创建批量任务后,KS3会对指定桶或前缀的文件逐一执行设置的操作,KS3支持的批量操作及注意事项如下表所示:

支持任务

说明

注意事项

批量解冻

支持批量解冻归档类型文件。

  • 如果批量解冻的文件中存在无需解冻的存储类型(详见:存储类型介绍),KS3将跳过这些文件,不计入最终的扫描结果中,也不会进行操作。

  • 正在解冻中的文件如果再次执行解冻操作,会操作失败,最终记录到总扫描数量(TotalNumberOfTasks)和失败操作数量(NumberOfTasksFailed)中。

  • 解冻归档类型文件会产生数据取回费用,当文件已经处于解冻状态时,若再次解冻,则不会再重复收取数据取回费用。计费详情参见文档:价格详情

批量设置ACL

支持批量设置文件ACL。

如果文件已经是目标ACL类型,再次执行操作后,最终记录到总扫描数量(TotalNumberOfTasks)和成功操作数量(NumberOfTasksSucceeded)中。

批量删除

支持批量删除文件。

  • 如果没有开启回收站功能,文件删除后将不可找回。执行批量删除操作建议开启回收站功能。

  • 低频类型文件有30天的最短存储时长,存储时间短于30天的文件提前删除会持续计费直至到达最短存储期限。

  • 归档类型文件有90天的最短存储时长,存储时间短于90天的文件提前删除会持续计费直至到达最短存储期限。

使用方式

使用方式

参考文档

API

支持的功能

功能

说明

创建批量处理任务

创建批量处理任务需提供以下信息:

  • 请求token:用于避免前端重复发起同一批处理任务

  • 任务描述:用于备注任务

  • 待处理的桶或前缀:支持对多个桶多个前缀进行批量操作

  • 执行的操作:支持批量解冻、修改ACL、删除操作

  • 任务优先级:高优先级的任务会被优先执行

  • 是否输出完成报告:仅支持导出操作失败列表报告

获取单个指定批量处理任务详情

获取的单个批量处理任务详情包含以下信息:

  • 任务ID:每个任务对应唯一的任务ID

  • 任务创建时间

  • 任务结束时间

  • 任务描述

  • 任务执行的当前状态:包括新建、执行中、执行完成

  • 执行任务的桶或前缀

  • 执行的操作:包括解冻、修改ACL、删除

  • 任务优先级

  • 任务执行进度:包括总扫描数量、成功操作数量、失败操作数量

  • 操作失败列表报告输出位置

列出批量处理任务

列出的批量处理任务包含以下信息:

  • 任务ID:每个任务对应唯一的任务ID

  • 任务创建时间

  • 任务结束时间

  • 任务描述

  • 任务执行的当前状态:包括新建、执行中、执行完成

  • 执行的操作:包括解冻、修改ACL、删除

  • 任务优先级

  • 任务执行进度:包括总扫描数量、成功操作数量、失败操作数量

  • 分页符

更新批量处理任务优先级

更新批量处理任务优先级需提供以下信息:

  • 任务ID:每个任务对应唯一的任务ID

  • 需要执行更新的操作:选择更新任务优先级操作

  • 任务优先级:取值越大表示任务执行的优先级越高

删除批量处理任务

删除批量处理任务需提供以下信息:

  • 需要删除的任务ID

任务失败列表报告格式

创建规则时,建议开启任务失败列表投递的功能。任务结束后,如果存在操作失败的文件,KS3将以报告形式投递到客户指定桶内,客户可查看操作失败的文件列表以及操作失败的原因。

任务失败列表报告投递的目录结构如下所示:

 job-<jobID>/
├──results/
       ├──<jobID>_failed_00001.csv.gz
       ├──<jobID>_failed_00002.csv.gz
       ├──<jobID>_failed_00003.csv.gz
├──manifest.json
├──manifest.json.md5

结构说明:

名称

说明

详情

job-<jobID>/

以jobID命名的目录名称。目录内包含全部任务失败列表报告相关的文件。

示例值:job-184ce261-18af-5e3d-3e30-253723cfd937/

results/

包含任务失败列表报告的目录。

<jobID>_failed_01.csv.gz

记录操作失败的文件名称及失败原因。文件大小超过128MB后将进行切分。

具体包括以下内容:

  • Bucket:文件所属的桶名称

  • Key:文件的Key,示例值:prefix1/prefix2/test.txt

  • TaskStatus:操作结果状态,取值为failed

  • HTTPStatusCode:HTTP状态码

  • ErrorCode:错误码

  • ResultMessage:错误详情

  • RequestId:请求ID

<jobID>_failed_02.csv.gz

<jobID>_failed_03.csv.gz

manifest.json

包含报告生成时间、报告存放位置等信息的文件。

{
  "Format": "KS3BatchOperations_Bucket_V1",
  "ReportCreationDate": "2025-05-17T17:04:52Z",
  "Operation": "KS3RestoreObject",
  "Results": [
    {
      "TaskExecutionStatus": "failed",
      "Bucket": "examplebucket",
      "Keys": [
        "任务报告/job-184ce261-18af-5e3d-3e30-253723cfd937/results/5f7bed60-38d3-45b9-ab60-2a7c99a418a3_failed_01.csv.gz",
        "任务报告/job-184ce261-18af-5e3d-3e30-253723cfd937/results/5f7bed60-38d3-45b9-ab60-2a7c99a418a3_failed_02.csv.gz"
      ]
    }
  ],
  "ReportSchema": "Bucket, Key, TaskStatus, HTTPStatusCode, ErrorCode, ResultMessage, RequestId"
}

具体参数描述如下所示:

  • Format:批量处理方式,固定取值:KS3BatchOperations_Bucket_V1

  • ReportCreationDate:报告投递时间,采用ISO 8601日期和时间表示法,加8小时表示中国北京时间

  • Operation:执行的具体操作

  • Results:包含报告信息

  • TaskExecutionStatus:任务执行状态,固定取值failed,表示任务中存在失败的操作

  • Bucket:报告投递的桶名

  • Keys:报告文件的具体Key

  • ReportSchema:报告内容详情,包括:BucketKeyTaskStatusHTTPStatusCodeErrorCodeResultMessageRequestId

manifest.json.md5

manifest.json文件的MD5值,用于校验文件的内容完成性。

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈