iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
自我挑戰組

淺入淺出分散式儲存系列 第 26

Day26 Lab 2 - Object storage 上傳續傳

https://github.com/kaichiachen/python-simple-object-storage/blob/master/distributed_obj_system/frontend.py#L40

API層如下所示

if start == 0:
   f = open(os.path.join(DIR_PATH, hash), 'wb')
else:
   f = open(os.path.join(DIR_PATH, hash), 'ab')
f.write(obj)
f.close()

if start+length >= filesize:
   # object upload completed...

https://github.com/kaichiachen/python-simple-object-storage/blob/master/distributed_obj_system/backend/api/run.py#L71

我們可以看到如果是上傳,前端需要傳遞更多參數 - start, length, filesize,當start+length ≥ filesize才代表上傳完成,由於object一般很大,不可能一直存在記憶體並且一直append,所以我們會把正在upload的東西存成檔案,等到upload完成再一次讀到記憶體


上一篇
Day25 Lab 2 - Object storage 下載續傳
下一篇
Day27 數據的壓縮
系列文
淺入淺出分散式儲存30

尚未有邦友留言

立即登入留言