วิธีอัปโหลดไฟล์ขนาดใหญ่ไปยัง S3 บนการเชื่อมต่อที่ไม่สม่ำเสมอ


9

ฉันมีไฟล์มากมาย (ระหว่าง 500MB และ 7GB) ที่ฉันต้องการอัปโหลดไปยังที่ฝากข้อมูล S3 การเชื่อมต่อของฉันไม่สม่ำเสมอมาก

ฉันพยายามอัปโหลดไฟล์ 500MB ผ่านทางs3cmdแต่มันหมดเวลาหลังจากทำเสร็จ 91% (ซึ่งใช้เวลา 16 ชั่วโมง)

ฉันลองด้วย CyberDuck แต่เกิดขึ้นแบบเดียวกัน มันล้มเหลวหลังจาก 20% หรือมากกว่านั้นและเมื่อฉันพยายามลองโอนอีกครั้งมันเริ่มต้นใหม่ตั้งแต่ต้น CyberDuck ควรได้รับการสนับสนุนแบบหลายส่วน แต่ฉันเดาไม่ ...

ฉันสามารถแบ่งไฟล์เป็นไฟล์ขนาดเล็กเช่นนี้ฉันจะแบ่งไฟล์. zip เป็นหลายเซ็กเมนต์ได้อย่างไร แต่ฉันไม่ต้องการเว้นแต่จะเป็นตัวเลือกเดียวของฉัน โปรแกรมที่ดีที่ฉันสามารถใช้ที่จะทำให้ฉันสามารถอัปโหลดไฟล์ขนาดใหญ่ไปยัง S3 ด้วยการสนับสนุนต่อคืออะไร?

คำตอบ:


6

ฉันแค่ลองใช้ s3tools (s3cmd-1.5.0-rc1) มีคำแนะนำจากพวกเขาคำถามที่พบบ่อยhttp://s3tools.org/kb/item13.htm ดูด้านล่าง

s3cmd รองรับการอัปโหลดหลายส่วนหรือไม่

ใช่ s3cmd รุ่นล่าสุดรองรับการอัปโหลดหลายส่วนของ Amazon S3

การอัปโหลดหลายส่วนจะถูกใช้โดยอัตโนมัติเมื่อไฟล์ที่จะอัปโหลดมีขนาดใหญ่กว่า 15MB ในกรณีนั้นไฟล์จะถูกแบ่งออกเป็นหลายส่วนโดยแต่ละส่วนมีขนาด 15MB (ส่วนสุดท้ายอาจเล็กกว่า) แต่ละส่วนจะถูกอัพโหลดแยกต่างหากจากนั้นสร้างขึ้นใหม่ที่ปลายทางเมื่อการถ่ายโอนเสร็จสิ้น

ด้วยคุณสมบัติใหม่นี้หากการอัปโหลดชิ้นส่วนล้มเหลวก็สามารถเริ่มใหม่ได้โดยไม่กระทบกับส่วนอื่น ๆ ที่อัปโหลดแล้ว

มีสองตัวเลือกที่เกี่ยวข้องกับการอัปโหลดหลายส่วนใน s3cmd พวกเขาคือ:

--disable-multipart

ปิดใช้งานการอัปโหลดหลายส่วนสำหรับไฟล์ทั้งหมด

และ

--multipart-ก้อนขนาด MB = ขนาด

ขนาดของแต่ละอันของการอัปโหลดหลายส่วน ไฟล์ที่มีขนาดใหญ่กว่า SIZE จะถูกอัปโหลดโดยอัตโนมัติในรูปแบบมัลติเธรด - มัลติส่วนและไฟล์ขนาดเล็กกว่าจะถูกอัพโหลดโดยใช้วิธีการดั้งเดิม SIZE มีหน่วยเป็นเมกะไบต์ขนาดก้อนเริ่มต้นคือ 15MB ขนาดก้อนต่ำสุดที่อนุญาตคือ 5MB สูงสุด 5GB

ดังนั้นเมื่อฉันอัพโหลดฉันเลือกขนาดก้อนที่เล็กที่สุด คุณควรดูด้านล่างการแยกและการอัปโหลดต่อ

$ s3cmd put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/

some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 1 of 52, 5MB]
 5242880 of 5242880   100% in  164s    31.08 kB/s  done
some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 2 of 52, 5MB]
 5242880 of 5242880   100% in  193s    26.46 kB/s  done
some_video.mp4 -> s3://some_bucket/some_video.mp4  [part 3 of 52, 5MB]
 2023424 of 5242880    38% in  135s    14.59 kB/s^CERROR: 
some_video.mp4' part 3 failed. Use
  /usr/local/bin/s3cmd abortmp s3://some_bucket/some_video.mp4 XXX_SOME_HASH_XXX
to abort the upload, or
  /usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put ...
to continue the upload.
See ya!

จากนั้นฉันกลับมา

/usr/local/bin/s3cmd --upload-id XXX_SOME_HASH_XXX put --multipart-chunk-size-mb=5 some_video.mp4 s3://some_bucket/

2

ฉันเชื่อใน Cyberduck ในหน้าต่างการโอนคุณสามารถคลิกขวาและเลือกประวัติย่อ

หากวิธีนี้ไม่ได้ผลCloudberry จะสนับสนุนการอัปโหลดต่อ


ด้วยเหตุผลบางอย่างใน Cyberduck ประวัติการทำงานของฉันไม่ทำงานสำหรับ S3 หลายส่วน คำใบ้ใด ๆ
f01

2

คุณสามารถใช้ FileZilla Pro เพื่อถ่ายโอนไฟล์ไปยังและจากที่เก็บ S3 FileZilla Pro รองรับการอัปโหลดหลายส่วนและในกรณีที่ล้มเหลวมันจะทำการถ่ายโอนต่อ

สำหรับบันทึกที่มาพร้อมกับคุณสมบัติอื่น ๆ มากมาย: การสนับสนุนไฟล์ขนาดใหญ่, การถ่ายโอนจำนวนมาก, ตัวกรอง, การเปรียบเทียบไดเรกทอรี, การค้นหาไฟล์ระยะไกล, การลากและวาง, การกำหนดค่า จำกัด ความเร็ว

ฉันเป็นสมาชิกของทีม FileZilla Pro

เรียนรู้เพิ่มเติมที่https://filezillapro.comและที่https://youtube.com/c/FileZillaPro


โปรดทราบว่าหากคุณอยู่ในเครือใด ๆ กับผลิตภัณฑ์คุณจะต้องเปิดเผยในคำตอบของคุณ
ลูกปา

@confetti ขอโทษฉันไม่รู้เหมือนกัน ฉันไม่พบสิ่งใดเป็นพิเศษในความช่วยเหลือหรือในจรรยาบรรณ จริง ๆ แล้วฉันคิดว่ามันเป็นสิ่งต้องห้าม เพิ่มข้อมูล
josuegomes

ไม่มีปัญหาฉันไม่สามารถหามันได้ในข้อความช่วยเหลือดังนั้นอาจเป็นสิ่งที่ mods ควรเพิ่ม แต่มันได้รับอนุญาตอย่างแน่นอน! มันอาจจะดีกว่าโดยทั่วไปเพราะคนรู้ว่าพวกเขาสามารถถามสิ่งที่เฉพาะเจาะจงกับซอฟต์แวร์ในความคิดเห็นและได้รับคำตอบที่เป็นทางการ :)
ปาปา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.