目前我在S3中有两个桶 - 让我们称之为buck
和buck_thumb
。现在,当我将图像上传到buck
存储桶时,会触发lambda函数,将图像大小调整为缩略图,并将缩略图上传到buck_thumb
存储桶中。
但现在我想让它变成 - 当我在buck
桶中发送图像网址时,它会下载图像并重新调整大小。
有办法吗?我只用一个桶就可以做到这一点?
我做的是我将lambda函数设置为SNS消息事件,所以当我上传到S3存储桶时,我从服务器发送SNS消息到配置的URL,消息是S3到文件的整个路径,所以Lambda可以下载它,调整大小,然后用thumb_或任何其他内容上传。
希望能帮助到你!这是4个月前,但是...我希望它能帮助未来的游客XD
如果你只是这样做,那么你上传 - >调整大小 - >上传 - >调整大小.....无限循环。因此,您应该过滤图像的大小。如果图像已经是合适的尺寸,请停止该功能。
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
});
}
});