使用URL将2000万张图片上传到s3 bucket



我想上传2000万张图片到S3 bucket。我正在使用以下代码。

s3.putObject(objectParams, (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}

我有我正在使用的cloudinary图像URL,我想将这些图像上传到S3。

最快的方法是什么?我目前正在按顺序运行这段代码,但这需要很多时间。我可以使用rest api更快地运行它吗?

有人能帮忙吗?

就我个人而言,我会做以下事情:

  • 编写一个接受URL的AWS Lambda函数,然后为每个URL:
    • 下载文件(最大临时存储容量=512MB(
    • 将文件上传到S3
    • 删除本地(临时(文件
  • 创建Amazon SQS队列,并将其配置为在收到消息时触发Lambda函数(一次最多传递10条消息(
  • 编写一个小脚本以将URL推入SQS队列

这将并行启动许多Lambda函数(默认限制为1000个并发函数(,这些函数都将为您复制文件。

唯一的问题是如果文件超过512MB,这是Lambda提供的临时存储的大小。

最新更新