使用 S3 对象 Lambda 转换对象
借助 Amazon S3 对象 Lambda,您可以将自己的代码添加到 Amazon S3 GET
、LIST
和 HEAD
请求中,以便在数据返回到应用程序时修改和处理数据。您可以使用自定义代码修改由 S3 GET
请求返回的数据,以便执行筛选行、动态调整图像大小和给图像加水印、隐去机密数据等操作。您还可以使用 S3 对象 Lambda 修改 S3 LIST
请求的输出以创建存储桶中所有对象的自定义视图,以及修改 S3 HEAD
请求以修改对象元数据(如对象名称和大小)。您可以使用 S3 对象 Lambda 作为 Amazon CloudFront 分配的来源,以便为最终用户量身定制数据,例如自动调整图像大小、对旧格式进行转码(例如从 JPEG 转码为 WebP)或剥离元数据。有关更多信息,请参阅 AWS 博客文章将 Amazon S3 对象 Lambda 与 Amazon CloudFront 结合使用
S3 对象 Lambda 的工作原理
S3 对象 Lambda 使用 AWS Lambda 函数来自动处理标准 S3 GET
、LIST
或 HEAD
请求的输出。AWS Lambda 是一种无服务器计算服务,它运行客户定义的代码,而无需管理底层计算资源。您可以编写和运行自己的自定义 Lambda 函数,根据您的特定使用案例定制数据转换。
配置 Lambda 函数后,您可以将其附加到 S3 对象 Lambda 服务端点(称为对象 Lambda 接入点)。对象 Lambda 接入点使用标准 S3 接入点(称为支持接入点)来访问 Amazon S3。
当您向对象 Lambda 接入点发送请求时,Amazon S3 会自动调用您的 Lambda 函数。然后,使用 S3 GET
、LIST
或 HEAD
请求通过对象 Lambda 接入点检索的任何数据都会将转换后的结果返回给应用程序。将正常处理所有其他请求,如下图所示。
本节中的主题介绍了如何使用 S3 对象 Lambda。
主题
有关 S3 对象 Lambda 教程,请参阅以下内容:
有关标准接入点的更多信息,请参阅 通过接入点管理对共享数据集的访问。
有关使用存储桶的信息,请参阅 存储桶概述。有关使用对象的信息,请参阅 Amazon S3 对象概述。