【问题标题】:S3 resize on uploadS3 在上传时调整大小
【发布时间】:2018-06-27 01:37:47
【问题描述】:

当文件上传到我的 S3 存储桶时,我一直在尝试运行 lambda 函数。我遵循的每个教程都使用旧版本的 UI(基本上一切都不同),因此完成起来真的很复杂。

现在,我有这个:

我正在使用的函数是唯一包含“图像”一词的模板。它使用 ImageMagick 库,据我所知,该库包含调整图像大小的函数。

我注意到“处理程序”函数被调用,我不知道如何为其提供参数。该函数正在被调用,但是当检查“req.operation”时,它当然是未定义的。我在这里错过了什么?

有没有人有更新的 URL 我可以遵循来完成这个或/和使用 Lambda 即时调整大小?

【问题讨论】:

    标签: amazon-s3 lambda aws-lambda


    【解决方案1】:

    http://amazon.qwiklabs.com 的AWS Lambda 简介自学实验室使用新的 Lambda 接口,但代码使用 Python。

    AWS Using AWS Lambda with Amazon S3 教程包含适用于 Node、Java 和 Python 的代码,但通过 AWS Command-Line Interface (CLI) 创建 Lambda 函数。

    作为在上传时调整图片大小的替代方法,您可以使用调整大小服务即时提供图片:

    【讨论】:

      【解决方案2】:

      他们的控制台在过去几个月中发生了很多变化,因此如果您按照旧教程进行操作,很容易对发生的事情感到困惑。 首先尝试简单测试的函数模板以了解会发生什么。每个 lambda 在被调用时,都会转到带有事件和上下文参数的处理函数。

      这里有一个使用 lambda、s3 和 api 网关动态调整图像大小的示例:https://github.com/awslabs/serverless-image-resizing,这是处理 lambda 大小调整的函数:https://github.com/awslabs/serverless-image-resizing/blob/master/lambda/index.js

      【讨论】:

        【解决方案3】:

        我在这个主题上遇到了与此official blog post/tutorial 类似的问题。 (顶部的“2018 年 5 月”更新日期尤其具有误导性,因为我认为它的主体在 18 个月内没有进行实质性修改。)

        但是,令人高兴的是,我在 AWS 文档的其他地方找到了这个 Serverless Image Handler 指南。

        它包含一个 CloudFormation 模板,该模板基本上为您设置了所有需要的资源(Cloudfront URL、Lambda 函数和 API 网关)。将其指向源图像所在的 S3 存储桶后,您便拥有了完整的功能设置。在某些情况下,这足以满足生产用途(除非您需要强制执行特定的访问限制)。

        这个解决方案的一个很酷的地方是它使用了Thumbor 库,除了缩放之外,它还可以进行几十种其他图像转换(例如颜色调整、旋转)。

        【讨论】:

          猜你喜欢
          • 2015-11-18
          • 1970-01-01
          • 1970-01-01
          • 2011-10-04
          • 2023-04-11
          • 2012-10-19
          • 1970-01-01
          • 2018-05-03
          • 1970-01-01
          相关资源
          最近更新 更多