大规模管理数百亿个对象

S3 分批操作是 Simple Storage Service (Amazon S3) 数据管理功能,可让您在 Simple Storage Service (Amazon S3) 管理控制台中单击几下或者发出单个 API 请求即可大规模管理数十亿个对象。利用这一功能,您可以更改对象元数据和属性,或执行其他存储管理任务,例如在存储桶之间复制对象、替换对象标记集、修改访问控制以及从 S3 Glacier 还原归档对象,而不用花数月时间开发自定义应用程序来执行这些任务。

S3 批量操作

S3 批量操作是一种托管解决方案,用于执行存储操作,如大规模复制和标记对象,无论是一次性任务还是重复的批量工作负载。S3 批量操作可以通过发出单个请求对数十亿个对象和 PB 级数据执行操作。若要在 S3 批量操作中执行工作,请创建作业。作业包括对象列表、要执行的操作以及为该操作类型指定的参数集。您可以在 S3 批量操作中一次创建和运行多个作业,也可以根据需要使用作业优先级来定义每个作业的优先顺序,并确保最重要的工作最先进行。S3 批量操作能够管理重试,跟踪进度,发送完成通知,生成报告,并针对所做的所有更改和执行的任务,将事件传送到 AWS CloudTrail。

S3 批量操作补充了您现在可能正在操作的任何事件驱动架构。对于新对象,使用 S3 事件和 Lambda 函数非常适合转换文件类型,创建缩略图,执行数据扫描和执行其他操作。例如,当图像首次上传到 S3 时,客户使用 S3 事件和Lambda 函数创建较小尺寸、低分辨率的原始照片版本。S3 批量操作通过提供一种简单的机制来对现有对象执行相同的操作,从而对这些现有的事件驱动的工作流程进行了补充。

工作原理:S3 批量操作

Amazon S3 批量操作工作原理图

若要在 S3 批量操作中执行工作,请创建作业。作业包括对象列表、要执行的操作以及为该操作类型指定的参数集。您可以在 S3 批量操作中一次创建和运行多个作业,也可以根据需要使用作业优先级来定义每个作业的优先顺序,并确保最重要的工作最先进行。S3 批量操作能够管理重试,跟踪进度,发送完成通知,生成报告,并针对所做的所有更改和执行的任务,将事件传送到 AWS CloudTrail。

S3 批量操作教程

客户

  • Teespring

    Teespring 成立于 2011 年,使用户能够在线创建和销售按需定制的产品。由于每件定制商品都需要 Teespring 内部的多个资源,因此它们将 PB 级数据存储在 Amazon S3 中。

    Amazon S3 批量操作通过使用 Amazon S3 的 Glacier 存储类帮助我们优化存储。我们使用了自己的存储元数据来创建可移至 Amazon S3 Glacier 的批量对象。使用 Amazon S3 Glacier,我们节省了超过 80% 的存储成本。我们一直在寻找实现存储管理自动化的机会,使用 S3 批量操作,我们可以在几分钟内管理数百万个对象。

    Teespring 的工程副总裁 James Brady
  • Capital One

    Capital One 是一家集金融和技术于一体的银行,并且是美国最知名的品牌之一。Capital One 使用 Amazon S3 批量操作在两个 AWS 区域之间复制数据,以增加其数据的冗余度,并标准化这两个位置之间的数据占用空间。

    我们通过使用 Amazon S3 批量操作来创建作业,可以在数小时内复制数百万个对象,而以往这项工作通常需要数月才能完成。我们使用 Amazon S3 的库存报告作为 Amazon S3 批量操作作业的输入,该报告列出了存储桶中存储的对象。Amazon S3 在复制数据、提供进度更新以及在作业完成时提供审计报告方面发挥重要作用。这项功能为我们的团队节省了数周的手动工作时间,并将这种大规模的数据传输变成了日常工作。

    Capital One 软件工程部副总裁 Franz Zemen
  • ePlus

     

    作为 AWS 的高级咨询合作伙伴,ePlus 与客户一起优化他们的 IT 环境,并使用类似 S3 批量操作的解决方案为客户节省时间和金钱。

    S3 批量操作简直太神奇了。它不仅有助于为每个客户端节省时间,减轻复杂且琐碎的工作,这些工作包括汇集多种 S3 操作、调度作业,然后将信息呈现在一个简单易用的控制面板上,它还帮助处理一些让人望而生畏的使用案例,我认为我们无法在 S3 批量操作所用时间内处理这些使用案例。
     
    例如,S3 批量操作能快速完成在同一账户内跨区域复制超过 200 万个对象,同时保持元数据的完整。该解决方案可以不间断地跨多个账户执行类似的任务,最主要的是,能生成一份完成报告,该报告自动在 4 亿个对象之间筛选和分离成功与失败的操作,从而可以在单个文件中更轻松地处理失败的操作。

    ePlus 高级解决方案架构师和 AWS 认证专家 David Lin