对 Amazon S3 对象执行大规模批量操作 - Amazon Simple Storage Service

对 Amazon S3 对象执行大规模批量操作

您可以使用 S3 批量操作对 Amazon S3 对象执行大规模批量操作。S3 批量操作可以对您指定的 Amazon S3 对象列表执行单个操作。单个任务可对数十亿个包含 EB 级数据的对象执行指定操作。Amazon S3 跟踪进度、发送通知并存储所有操作的详细完成报告,从而提供完全托管、可审核的无服务器体验。您可以通过 AWS Management Console、AWS CLI、Amazon SDK 或 REST API 使用 S3 批量操作。

使用 S3 批量操作复制对象并设置对象标签或访问控制列表 (ACL)。您还可以从 S3 Glacier Flexible Retrieval 启动对象还原,或者调用 AWS Lambda 函数以使用您的对象执行自定义操作。您可以对自定义的对象列表执行这些操作,也可以使用 Amazon S3 清单报告来轻松生成对象列表。Amazon S3 批量操作使用与 Amazon S3 相同的 Amazon S3 API,因此您会发现界面很熟悉。

注意

有关将 Amazon S3 Express One Zone 存储类与目录存储桶配合使用的更多信息,请参阅 什么是 S3 Express One Zone?目录桶。有关将批量操作与 S3 Express One Zone 和目录存储桶配合使用的更多信息,请参阅对 S3 Express One Zone 使用批量操作

S3 批量操作基础知识

您可以使用 S3 批量操作对 Amazon S3 对象执行大规模批量操作。S3 批量操作可以对您指定的 Amazon S3 对象列表运行单个操作。

术语

此部分使用的术语任务操作任务 定义如下:

任务

任务是 S3 批量操作的基本工作单位。任务包含对清单中所列对象运行指定操作所需的全部信息。在您提供此信息并请求任务开始后,任务将对清单中的每个对象执行操作。

操作

操作是您希望批量操作任务运行的 API 操作的类型,例如复制对象。对于清单中指定的所有对象,每个任务执行单一类型的操作。

任务

任务是任务的执行单元。任务表示为了对单个对象执行任务的操作而对 Amazon S3 或 AWS Lambda API 操作进行的单个调用。在任务的生命周期内,S3 批量操作将为清单中指定的每个对象创建一个任务。

S3 批量操作任务的工作原理

任务是 S3 批量操作的基本工作单位。任务包含要对对象列表运行指定操作所需的全部信息。要创建任务,您需要向 S3 批量操作提供对象列表并指定要对这些对象执行的操作。

有关 S3 批量操作支持的操作的信息,请参阅 S3 分批操作支持的操作

批处理任务将对其清单中包含的每个对象执行指定操作。清单列出了您希望批处理任务进行处理的对象并将其作为对象存储在存储桶中。您可以使用逗号分隔值 (CSV) 格式的 Amazon S3 清单 报告作为清单,这样便于轻松创建位于存储桶中的大型对象列表。您还可以指定采用简单的 CSV 格式的清单,这样您便可对单个存储桶中包含的对象的自定义列表执行批量操作。

在您创建任务后,Amazon S3 将处理清单中的对象列表并对每个对象运行指定的操作。在任务运行时,您能够通过编程方式或通过 Amazon S3 控制台监控其进度。您还可以对任务进行配置,以便在其完成时生成完成报告。完成报告会描述任务已执行的每个任务的结果。有关监控任务的更多信息,请参阅 管理 S3 分批操作任务

S3 批量操作教程

以下教程提供了一些批量操作任务的完整端到端过程。