分片上传接口 融合接口 功能说明 分片上传步骤较多,包括初始化、文件切段、各个分片上传、完成上传。为了简化分片上传,SDK提供了方便的融合接口用于上传文件,用户不需要关心文件的大小,SDK会自动对大文件使用分片上传。 代码示例 python import botocore.config import botocore.session import s3transfer.manager import datetime class TransferDemo(object): def init(self): config botocore.config.Config( signatureversion's3v4', 签名版本,s3 or s3v4 ) self.bucket ' ' session botocore.session.getsession() self.s3client session.createclient( 's3', awsaccesskeyid' ', awssecretaccesskey' ', endpointurl' ', configconfig) MB 1024 1024 transConfig s3transfer.manager.TransferConfig( multipartthreshold5 MB, 大于该值使用分片上传 multipartchunksize5 MB, 分片大小 maxrequestconcurrency2, ) 设置带宽,不填表示不限制 transConfig.maxbandwidth 1 MB self.transfer s3transfer.manager.TransferManager(self.s3client, transConfig) def upload(self): print(datetime.datetime.now().strftime('%Y%m%d %H:%M:%S.%f'), "upload start") key ' ' 扩展配置,可以设置ContentType和ACL extraArgs {'ContentType': 'text/plain', 'ACL': 'publicread'} with open(' ', 'rb') as f: future self.transfer.upload(f, self.bucket, key, extraargsextraArgs) future.result() 请求参数 参数 类型 说明 bucket string 桶名 key string 对象名 fileobj fileobj 打开的文件对象 extraargs dict 扩展配置,可以设置ContentType和ACL;ACL取值private publicread publicreadwrite TransferConfig参数, 参数 类型 说明 multipartthreshold int 大于该值使用分片上传 multipartchunksize int 分片大小,默认5MB maxrequestconcurrency int 上传分片并发数