AWS S3,上传大文件时删除现有连接

时间:2018-03-23 16:13:34

标签: python amazon-s3

该脚本可以上传小文件,几MB,但不适用于大文件。我试图上传一个7GB的文件,这将导致套接字错误:

socket.error:[Errno 10054] re强行关闭现有连接 mote主持人

s3_connection = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = s3_connection.get_bucket('yardi-backup')
key = boto.s3.key.Key(bucket, os.path.basename(latest_file))
key.set_contents_from_filename(latest_file)
sys.exit(0)

with open(latest_file, 'r') as f:
    #key.send_file(f)
    key.set_contents_from_file(f)

1 个答案:

答案 0 :(得分:0)

使用单个PUT操作,您只能上传最大5 GB的对象。对于超过5GB到5TB的文件,您应该使用分段上传API。

以下gist提供了一个很好的例子,说明使用boto3将多部分上传到S3。

参考:https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html