使用URL将2,000万张图像上传到s3存储桶中

问题描述 投票:-2回答:1

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

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

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

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

谁能帮忙吗?

node.js rest amazon-s3 cloudinary knox-amazon-s3-client
1个回答
0
投票

我个人将执行以下操作:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.