我想上传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提供的临时存储的大小。