【问题标题】:Image resize using AWS lambda in same bucket在同一存储桶中使用 AWS lambda 调整图像大小
【发布时间】:2015-03-25 14:33:26
【问题描述】:

目前我在 S3 中有两个存储桶 - 我们称它们为 buckbuck_thumb。现在,当我将图像上传到buck 存储桶时,它会触发一个 lambda 函数,该函数将图像大小调整为缩略图并将缩略图上传到buck_thumb 存储桶中。

但现在我想让它像 - 当我在 buck 存储桶中发送图像 url 时,它会下载图像并重新调整大小。

有办法吗?我可以只使用一个桶来做到这一点吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda


    【解决方案1】:

    我所做的是将 lambda 函数设置为 SNS 消息事件,因此当我上传到 S3 存储桶时,我会从服务器向配置的 url 发送一条 SNS 消息,该消息是 S3 上文件的整个路径, 所以 Lambda 可以下载它,调整它的大小,然后用 thumb_ 或其他方式上传。

    希望对您有所帮助!这是 4 个月前的事了,但是……我希望它对未来的访客有所帮助 XD

    【讨论】:

      【解决方案2】:

      如果你简单地这样做,那么你上传 -> 调整大小 -> 上传 -> 调整大小.....无限循环。 因此,您应该过滤图像的大小。如果图像的尺寸已经合适,请停止该功能。

      gm(data.Body)
      .size(function (err, size) {
        if(err){
          callback('gm(data.Body) error');
          context.fail(err);
        }
        if (size.width <= resizeWidth && size.height <= resizeHeight) {
          console.log('already resized')
          context.succeed({
          "error":false
           });
         }
       });
      

      【讨论】:

        猜你喜欢
        • 2020-02-13
        • 1970-01-01
        • 2017-11-10
        • 1970-01-01
        • 2018-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多