Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AWS S3,上载大文件时删除现有连接_Python_Amazon S3 - Fatal编程技术网

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

Python AWS S3,上载大文件时删除现有连接,python,amazon-s3,Python,Amazon S3,该脚本可以上传一些小文件(几MB),但不适用于大文件。我试图上载一个7GB的文件,这将导致套接字错误: socket.error:[Errno 10054]现有连接已被re强制关闭 寄主 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

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

socket.error:[Errno 10054]现有连接已被re强制关闭 寄主

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)

通过一次PUT操作,您最多只能上载5 GB大小的对象。对于大于5GB到5TB的文件,应使用多部分上载API

下面提供了一个使用boto3将多部分上传到S3的好例子


参考资料:

对大型对象(5 GB到5 TB)使用多部分上载API。