借助 S3 批量操作,大规模管理数百亿个对象

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

Amazon S3 批量操作简介

S3 批量操作

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

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

工作原理:S3 批量操作

Amazon-S3_Batch_Operations_How_it_works_2x

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

S3 批量操作教程

创建作业

创建批量操作作业

管理和跟踪作业

管理和跟踪批量操作作业

设置权限

设置权限

客户

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

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

Teespring 的工程副总裁 James Brady

600x400_Capital-One_Logo

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

S3 批量操作博客文章

AWS 新闻博客


Amazon S3 批量操作

Amazon S3 批量操作可用于以简单明了的方式轻松处理数百、数百万或数亿个 S3 对象。您可以将对象复制到另一个存储桶,设置标签或访问控制列表 (ACL),从 S3 Glacier 启动恢复请求或对每个对象调用 AWS Lambda。

阅读博客 »

AWS 存储博客


使用 S3 批量操作加密对象

本篇文章演示了如何创建对象列表、进行筛选,以便仅包含未加密的对象,设置权限以及执行 S3 批量操作作业来加密对象。加密现有对象是您可以使用 S3 批量操作来管理 Amazon S3 对象的众多方法之一。

阅读博客 »

AWS 存储博客


使用 S3 批量操作转码视频文件

本篇文章回顾了如何使用 S3 批量操作通过 AWS Lambda 触发视频转码作业,视频可以是存储在 S3 中的视频,也可以是从 Amazon S3 Glacier 还原的视频。

阅读博客 »
Product-Page_Standard-Icons_01_Product-Features_SqInk
观看 S3 批量操作技术讲座

了解入门和最佳实践。

了解更多 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
注册免费账户

立即享受 AWS 免费套餐。 

注册 
Product-Page_Standard-Icons_03_Start-Building_SqInk
开始在控制台中构建

在 AWS 管理控制台中,使用 Amazon S3 开始构建。

登录