@@ -397,6 +397,7 @@ class Bucket(_Base):
397397 REPLICATION = "replication"
398398 REPLICATION_LOCATION = 'replicationLocation'
399399 REPLICATION_PROGRESS = 'replicationProgress'
400+ TRANSFER_ACCELERATION = 'transferAcceleration'
400401
401402
402403 def __init__ (self , auth , endpoint , bucket_name ,
@@ -2492,6 +2493,33 @@ def _get_bucket_config(self, config):
24922493 logger .debug ("Get bucket config done, req_id: {0}, status_code: {1}" .format (resp .request_id , resp .status ))
24932494 return resp
24942495
2496+ def put_bucket_transfer_acceleration (self , enabled ):
2497+ """为存储空间(Bucket)配置传输加速
2498+
2499+ :param str enabled : 是否开启传输加速。true:开启传输加速; false:关闭传输加速.
2500+ :return: :class:`RequestResult <oss2.models.RequestResult>`
2501+ """
2502+ logger .debug ("Start to bucket transfer acceleration, bucket: {0}, enabled: {1}."
2503+ .format (self .bucket_name , enabled ))
2504+ data = xml_utils .to_put_bucket_transfer_acceleration (enabled )
2505+ headers = http .CaseInsensitiveDict ()
2506+ headers ['Content-MD5' ] = utils .content_md5 (data )
2507+ resp = self .__do_bucket ('PUT' , data = data , params = {Bucket .TRANSFER_ACCELERATION : '' }, headers = headers )
2508+ logger .debug ("bucket transfer acceleration done, req_id: {0}, status_code: {1}" .format (resp .request_id , resp .status ))
2509+
2510+ return RequestResult (resp )
2511+
2512+ def get_bucket_transfer_acceleration (self ):
2513+ """获取目标存储空间(Bucket)的传输加速配置
2514+
2515+ :return: :class:`GetBucketReplicationResult <oss2.models.GetBucketReplicationResult>`
2516+ """
2517+ logger .debug ("Start to get bucket transfer acceleration: {0}" .format (self .bucket_name ))
2518+ resp = self .__do_bucket ('GET' , params = {Bucket .TRANSFER_ACCELERATION : '' })
2519+ logger .debug ("Get bucket transfer acceleration done, req_id: {0}, status_code: {1}" .format (resp .request_id , resp .status ))
2520+
2521+ return self ._parse_result (resp , xml_utils .parse_get_bucket_transfer_acceleration_result , GetBucketTransferAccelerationResult )
2522+
24952523 def __do_object (self , method , key , ** kwargs ):
24962524 return self ._do (method , self .bucket_name , key , ** kwargs )
24972525
0 commit comments