大文件分段上传 这里输入你的Access Key secretkey "此处输入你的Secret Key" 这里输入你的Secret Key url "此处输入你的endpoint" 这里输入你的endpoint 3. 获取对象存储服务的操作客户端。 python session Session(accesskey, secretkey) s3client session.client('s3', endpointurlurl) 4. 开启分块上传,获取uploadID。 python 在’’中填入要上传对象的桶名(必须已存在)和对象名。 dictcmp s3client.createmultipartupload(Bucket'?', Key'?') uploadID dictcmp['UploadId'] 记录uploadID,用于后续上传分块。 5. 分块读取要上传的文件。 python 设置列表,用于收集文件的所有分块 chunks [] 分块读取文件 with open("此处输入你的文件地址", 'rb') as f: while True: chunk f.read(5 1024 1024) 此处输入分块大小,本示例是5M,分块大小最低为5M if not chunk: break chunks.append(chunk) 6. 上传所有分块并记录各个分块的ETag和编号。 python 设置列表,用于记录上传分块的ETag和编号。 parts [] i 0 for chunk in chunks: i + 1 上传分块 dictup s3client.uploadpart(Bucket'?', Bodychunk, Key'?', PartNumberi, UploadIduploadID) 记录该分块的ETag和编号 part { 'ETag': dictup['ETag'], 'PartNumber': i, } parts.append(part) 7. 完成所有分块的拼接,存入ZOS。 python 完成所有分块拼接后,上传成功。 s3client.completemultipartupload( Bucket'?', Key'?', MultipartUpload{ 'Parts': parts }, UploadIduploadID, )