aws lambda:大尺寸图片上传和在PHP中调整大小

时间:2017-03-23 15:32:53

标签: php node.js amazon-web-services amazon-s3 lambda

我们计划将我们的图片上传和调整大小系统之一迁移到AWS云中。

建议的解决方案

1.User将文件上传到AWS s3。

  1. S3 upload在AWS lambda中调用lambda函数,该函数将调整为指定大小(例如250 * 250)并将其放入另一个s3存储桶中。

    我们有一个选项,用户可以看到已调整大小的图像并批准按钮。

  2. 由于上传图片和调整大小是两个独立的实体,因此无法识别裁剪的图片是成功还是失败。

    lambda函数

     function cropImage(objectKey){
    
        //do resize here 
        if(success){
          //need to the objectKey in the php function
         }
    
       }
    

    那么有没有办法从aws lambda函数传递到php ??

1 个答案:

答案 0 :(得分:0)

我们的系统采用了一种方法。用户通过UI或扩展名将文件上传到我们的系统。系统处理文件并将其上传到S3。   上传文件后,系统调用AWS Lambda,传递元信息,例如API端点返回结果的位置。我们调整每个图像的大小,收集数据并将JSON发送回端点。   当然,它比将整个工作委托给AWS要复杂得多,但它是一种动态方法,允许您从任何具有公共IP的服务器运行您的系统。

如果只有一台服务器,为什么不在Lambda上保持服务器的配置。可以设置Env变量。在这种情况下,您需要一个端点或预定的命名模式用于所有已调整大小的图像。