Swift对大对象的支持,其大小限制的设置是在/etc/swift/swift.conf里面进行配置
(具体的可配置参数参见:https://github.com/openstack/swift/blob/master/etc/swift.conf-sample#L15)
[swift-constraints]
max_file_size = 5368709122
默认设置(或者不设置)的情况下大小是5G。为了方便测试,我改成了小于2M的值。
1、创建两个container,一个用来存放文件的chunks--large_file_segments,另外一个用来存放合成之后的大对象--large_files。
2、上传文件chunks,我这里上传的是三个文件块:
for i in range(1,4):
count = str(i)
with open('''D:\\temp\\part00000'''+ count, 'rb') as f:
fileData = f.read()
print len(fileData)
conn.request("PUT", "/v1/AUTH_test/large_file_segments/part00000"+str(i), fileData, headers)
response = conn.getresponse()
print response.status

本文介绍了OpenStack Swift如何支持大对象,详细讲解了在swift.conf中配置最大文件大小,创建存储chunks和大对象的container,分块上传文件并利用manifest合成大对象的过程。需要注意文件以二进制模式打开以确保上传一致性。
最低0.47元/天 解锁文章
4914

被折叠的 条评论
为什么被折叠?



