我在网络托管上有一个网页,图像存储在Amazon S3上 . 我想用php能够通过我的网页以zip文件从Amazon S3下载多个图像 .
我有什么选择,什么是最好的?
我所知道的是,无法在S3上压缩文件 . 我可以使用亚马逊lambda吗?
我遇到的最佳解决方案 .
-
用户在我的网站上选择他们想要下载的图像 .
-
我从我的网络主机上的数据库中获取文件名,并将图像从S3下载到我的网络主机上的临时目录中 .
-
在临时目录中创建一个zip文件,并向用户发送一个链接 . 一段时间后,我在我的网络主机上清理临时目录(带脚本) .
但如果有一种方法没有通过我的托管来创建和下载zip文件,那将是很棒的 .
1 回答
AWS S3是“基本构建块”,因此它不支持将多个对象压缩在一起的功能 .
虽然您可以将对象流式传输到zip文件而不是下载它们,但您已经想出了一个很好的方法 . EC2实例可以非常快速地执行此操作,因为它们往往具有到S3的快速连接 .
Lambda不适用于此,因为它仅在将对象放入S3存储桶时触发 . 你正在做相反的事情 .