Skip to content

Commit 1155b40

Browse files
author
libertyzhu
committed
IntelligentTiering V2接口
1 parent c160097 commit 1155b40

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

qcloud_cos/cos_client.py

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3534,6 +3534,36 @@ def get_bucket_intelligenttiering(self, Bucket, **kwargs):
35343534
params=params)
35353535
data = xml_to_dict(rt.content)
35363536
return data
3537+
3538+
def get_bucket_intelligenttiering_v2(self, Bucket, Id, **kwargs):
3539+
"""获取存储桶智能分层配置
3540+
3541+
:param Bucket(string): 存储桶名称.
3542+
:param Id(string) 智能分层规则Id.
3543+
:param kwargs(dict): 设置请求headers.
3544+
:return(dict): 智能分层配置.
3545+
3546+
.. code-block:: python
3547+
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token) # 获取配置对象
3548+
client = CosS3Client(config)
3549+
client.get_bucket_intelligenttiering_v2(Bucket='bucket', Id='id')
3550+
"""
3551+
3552+
headers = mapped(kwargs)
3553+
params = {'id': Id}
3554+
url = self._conf.uri(bucket=Bucket) + '?intelligent-tiering'
3555+
logger.info("get bucket intelligenttiering, url=:{url} ,headers=:{headers}".format(
3556+
url=url,
3557+
headers=headers))
3558+
rt = self.send_request(
3559+
method='GET',
3560+
url=url,
3561+
bucket=Bucket,
3562+
auth=CosS3Auth(self._conf, params=params),
3563+
headers=headers,
3564+
params=params)
3565+
data = xml_to_dict(rt.content)
3566+
return data
35373567

35383568
def put_bucket_object_lock(self, Bucket, ObjectLockConfiguration={}, **kwargs):
35393569
"""设置存储桶对象锁定配置
@@ -3706,7 +3736,7 @@ def _get_bucket_replication_wrapper(Bucket, **kwargs):
37063736
logger.debug("get_bucket_meta failed to get replication conf:{}".format(e))
37073737
pool.add_task(_get_bucket_replication_wrapper, Bucket, **kwargs)
37083738

3709-
# Replication
3739+
# Encryption
37103740
def _get_bucket_encryption_wrapper(Bucket, **kwargs):
37113741
try:
37123742
resp = self.get_bucket_encryption(Bucket, **kwargs)
@@ -3734,13 +3764,13 @@ def _get_bucket_versioning_wrapper(Bucket, **kwargs):
37343764
pool.add_task(_get_bucket_versioning_wrapper, Bucket, **kwargs)
37353765

37363766
# IntelligentTiering
3737-
def _get_bucket_intelligenttiering_wrapper(Bucket, **kwargs):
3767+
def _get_bucket_intelligenttiering_v2_wrapper(Bucket, Id, **kwargs):
37383768
try:
3739-
resp = self.get_bucket_intelligenttiering(Bucket, **kwargs)
3769+
resp = self.get_bucket_intelligenttiering_v2(Bucket, Id, **kwargs)
37403770
data.update({'IntelligentTiering': resp})
37413771
except CosServiceError as e:
37423772
logger.debug("get_bucket_meta failed to get intelligenttiering conf:{}".format(e))
3743-
pool.add_task(_get_bucket_intelligenttiering_wrapper, Bucket, **kwargs)
3773+
pool.add_task(_get_bucket_intelligenttiering_v2_wrapper, Bucket, "default", **kwargs)
37443774

37453775
# Tagging
37463776
def _get_bucket_tagging_wrapper(Bucket, **kwargs):

ut/test.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2297,7 +2297,7 @@ def test_put_get_bucket_intelligenttiering():
22972297
'Status': 'Enabled',
22982298
'Transition': {
22992299
'Days': '30',
2300-
'RequestFrequent': '1'
2300+
'RequestFrequent': '1'
23012301
}
23022302
}
23032303
response = client.put_bucket_intelligenttiering(
@@ -2315,6 +2315,12 @@ def test_put_get_bucket_intelligenttiering():
23152315
Bucket=test_bucket,
23162316
)
23172317

2318+
# v2接口
2319+
response = client.get_bucket_intelligenttiering_v2(
2320+
Bucket=test_bucket,
2321+
Id="default"
2322+
)
2323+
23182324

23192325
def test_bucket_encryption():
23202326
"""测试存储桶默认加密配置"""

0 commit comments

Comments
 (0)