大规模管理数百亿个对象
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 批量操作工作原理图 Amazon S3 批量操作工作原理图](https://d1.awsstatic.com/aws-storage/amazon-s3-batch-operations-how-it-works-diagram.57e5f4e3d5ada2c63fcf5eed75b62eb4968af8d4.png)
若要在 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