使用 S3 Object Lambda 转换对象 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 S3 Object Lambda 转换对象

借助 Amazon S3 Object Lambda,您可以将自己的代码添加到 Amazon S3 GETLISTHEAD 请求中,以便在数据返回到应用程序时修改和处理数据。您可以使用自定义代码修改由 S3 GET 请求返回的数据,以便执行筛选行、动态调整图像大小、隐去机密数据等操作。您还可以使用 S3 Object Lambda 修改 S3 LIST 请求的输出以创建桶中所有对象的自定义视图,以及修改 S3 HEAD 请求以修改对象元数据(如对象名称和大小)。在 Amazon Lambda 函数的支持下,您的代码在完全由 Amazon 管理的基础设施上运行。使用 S3 Object Lambda 可以减少创建和存储数据的衍生副本或运行代理的需要,所有这些都无需更改应用程序。

S3 Object Lambda 的工作原理

S3 Object Lambda 使用 Amazon Lambda 函数来自动处理标准 S3 GETLISTHEAD 请求的输出。Amazon Lambda 是一种无服务器计算服务,它运行客户定义的代码,而无需管理底层计算资源。您可以编写和运行自己的自定义 Lambda 函数,根据您的特定使用案例定制数据转换。

配置 Lambda 函数后,您可以将其附加到 S3 Object Lambda 服务端点(称为 Object Lambda 访问点)。Object Lambda 访问点使用标准 S3 访问点(称为支持访问点)来访问 Amazon S3。

当您向 Object Lambda 访问点发送请求时,Amazon S3 会自动调用您的 Lambda 函数。然后,使用 S3 GETLISTHEAD 请求通过 Object Lambda 访问点检索的任何数据都会将转换后的结果返回给应用程序。将正常处理所有其他请求,如下图所示。


            S3 Object Lambda 图,显示了当通过 Object Lambda 访问点从客户端应用程序发出 GET、LIST 或 HEAD 请求时,如何对这些请求进行转换。

本节中的主题介绍了如何使用 S3 Object Lambda。

有关 S3 Object Lambda 教程,请参阅 教程:使用 S3 Object Lambda 转换应用程序的数据教程:使用 S3 Object Lambda 和 Amazon Comprehend 检测和修订 PII 数据

有关标准访问点的更多信息,请参阅 使用 Amazon S3 访问点管理数据访问

有关使用存储桶的信息,请参阅 存储桶概述。有关使用对象的信息,请参阅 Amazon S3 对象概述