首页 > 编程语言 > 详细

亚马逊s3上传大文件Python

时间:2014-10-10 18:34:45      阅读:519      评论:0      收藏:0      [点我收藏+]

实例如下:

import boto
from boto import connection
import os, math
from filechunkio import FileChunkIO

# fill in the id and key
conn = boto.connect_s3()
print conn
# fill in your bucket name
bucket = conn.get_bucket()
print bucket

# your file path want to upload
source_path = ‘./‘
source_size = os.stat(source_path).st_size

print source_size

mp = bucket.initiate_multipart_upload(os.path.basename(source_path))

chunk_size = 524288000
chunk_count = int(math.ceil(source_size / chunk_size))
for i in range(chunk_count + 1):
  print i
  offset = chunk_size * i
  bytes = min(chunk_size, source_size - offset)
  with FileChunkIO(source_path, ‘r‘, offset=offset, bytes=bytes) as fp:
    mp.upload_part_from_file(fp, part_num=i + 1)

mp.complete_upload()
print ‘ok‘

参考网页 http://boto.readthedocs.org/en/latest/s3_tut.html

亚马逊s3上传大文件Python

原文:http://www.cnblogs.com/jaw-crusher/p/4016322.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!