本文整理匯總了Python中MultiPart.MultiPartUpload.initiate_multipart_upload方法的典型用法代碼示例。如果您正苦於以下問題:Python MultiPartUpload.initiate_multipart_upload方法的具體用法?Python MultiPartUpload.initiate_multipart_upload怎麽用?Python MultiPartUpload.initiate_multipart_upload使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類MultiPart.MultiPartUpload
的用法示例。
在下文中一共展示了MultiPartUpload.initiate_multipart_upload方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: send_file_multipart
# 需要導入模塊: from MultiPart import MultiPartUpload [as 別名]
# 或者: from MultiPart.MultiPartUpload import initiate_multipart_upload [as 別名]
def send_file_multipart(self, file, headers, uri, size):
upload = MultiPartUpload(self, file, uri)
num_threads = self.config.multipart_num_threads or 4
if size > MultiPartUpload.MAX_FILE_SIZE:
raise RuntimeError("File is too large (%i bytes, max %i)" % (size, MultiPartUpload.MAX_FILE_SIZE))
elif size > 107374182400: # 100GB
chunk_size = size / 10000
elif size > 10737418240: # 10GB
chunk_size = size / 1000
elif size > 1073741824: # 1GB
chunk_size = size / 100
else:
chunk_size = self.config.multipart_chunk_size or MultiPartUpload.MIN_CHUNK_SIZE
timestamp_start = time.time()
file.seek(0)
bucket, key, upload_id = upload.initiate_multipart_upload()
upload.upload_all_parts(num_threads, chunk_size)
response = upload.complete_multipart_upload()
response["size"] = size
timestamp_end = time.time()
response["elapsed"] = timestamp_end - timestamp_start
response["speed"] = response["elapsed"] and float(response["size"]) / response["elapsed"] or float(-1)
return response