我们计划将我们的图片上传和调整大小系统之一迁移到AWS云中。
建议的解决方案
1.User将文件上传到AWS s3。
S3 upload在AWS lambda中调用lambda函数,该函数将调整为指定大小(例如250 * 250)并将其放入另一个s3存储桶中。
我们有一个选项,用户可以看到已调整大小的图像并批准按钮。
由于上传图片和调整大小是两个独立的实体,因此无法识别裁剪的图片是成功还是失败。
lambda函数
function cropImage(objectKey){
//do resize here
if(success){
//need to the objectKey in the php function
}
}
那么有没有办法从aws lambda
函数传递到php ??
答案 0 :(得分:0)
我们的系统采用了一种方法。用户通过UI或扩展名将文件上传到我们的系统。系统处理文件并将其上传到S3。 上传文件后,系统调用AWS Lambda,传递元信息,例如API端点返回结果的位置。我们调整每个图像的大小,收集数据并将JSON发送回端点。 当然,它比将整个工作委托给AWS要复杂得多,但它是一种动态方法,允许您从任何具有公共IP的服务器运行您的系统。
如果只有一台服务器,为什么不在Lambda上保持服务器的配置。可以设置Env变量。在这种情况下,您需要一个端点或预定的命名模式用于所有已调整大小的图像。