本文整理汇总了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