簡體   English   中英

使用 URL 將 2000 萬張圖像上傳到 s3 存儲桶

[英]Upload 20 million images to s3 bucket using URL

我想將 2000 萬張圖片上傳到 S3 存儲桶。 我正在使用以下代碼。

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

我有正在使用的雲圖像 URL,我想將這些圖像上傳到 S3。

最快的方法是什么? 我目前正在按順序運行此代碼,但這會花費很多時間。 我可以使用rest api更快地運行它嗎?

有人可以幫忙嗎?

就個人而言,我會做以下事情:

  • 編寫一個接受 URL 的AWS Lambda 函數,然后針對每個 URL:
    • 下載文件(最大臨時存儲空間 = 512MB)
    • 將文件上傳到 S3
    • 刪除本地(臨時)文件
  • 創建Amazon SQS 隊列並將其配置為在收到消息時觸發 Lambda 函數(一次最多傳遞 10 條消息)
  • 編寫一個小腳本將 URL 推送到 SQS 隊列中

這將並行啟動許多 Lambda 函數(默認限制為 1000 個並發函數),它們都將為您復制文件。

唯一的問題是文件是否超過 512MB,這是 Lambda 提供的臨時存儲的大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM