Skip to content

Commit 527e511

Browse files
committed
create_bucket OFS
1 parent c6bb2f9 commit 527e511

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

qcloud_cos/cos_client.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,7 +1277,7 @@ def select_object_content(self, Bucket, Key, Expression, ExpressionType, InputSe
12771277
return data
12781278

12791279
# s3 bucket interface begin
1280-
def create_bucket(self, Bucket, BucketAZConfig=None, **kwargs):
1280+
def create_bucket(self, Bucket, BucketAZConfig=None, BucketArchConfig=None, **kwargs):
12811281
"""创建一个bucket
12821282
12831283
:param Bucket(string): 存储桶名称. 存储桶名称不支持大写字母,COS 后端会将用户传入的大写字母自动转换为小写字母用于创建存储桶.
@@ -1301,11 +1301,16 @@ def create_bucket(self, Bucket, BucketAZConfig=None, **kwargs):
13011301
"""
13021302
headers = mapped(kwargs)
13031303
xml_config = None
1304+
bucket_config = dict()
13041305
if BucketAZConfig == 'MAZ':
1305-
bucket_config = {'BucketAZConfig': 'MAZ'}
1306+
bucket_config.update({'BucketAZConfig': 'MAZ'})
1307+
if BucketArchConfig == 'OFS':
1308+
bucket_config.update({'BucketArchConfig': 'OFS'})
1309+
if len(bucket_config) != 0:
13061310
xml_config = format_xml(data=bucket_config, root='CreateBucketConfiguration')
13071311
headers['Content-MD5'] = get_md5(xml_config)
13081312
headers['Content-Type'] = 'application/xml'
1313+
13091314
url = self._conf.uri(bucket=Bucket)
13101315
logger.info("create bucket, url=:{url} ,headers=:{headers}".format(
13111316
url=url,

ut/test.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -562,13 +562,14 @@ def test_create_head_delete_bucket():
562562
Bucket=bucket_name
563563
)
564564

565-
def test_create_head_delete_maz_bucket():
566-
"""创建一个多AZ bucket,head它是否存在,最后删除一个空bucket"""
565+
def test_create_head_delete_maz_ofs_bucket():
566+
"""创建一个多AZ OFS bucket,head它是否存在,最后删除一个空bucket"""
567567
bucket_id = str(random.randint(0, 1000)) + str(random.randint(0, 1000))
568-
bucket_name = 'buckettest-maz' + bucket_id + '-' + APPID
568+
bucket_name = 'buckettest-maz-ofs' + bucket_id + '-' + APPID
569569
response = client.create_bucket(
570570
Bucket=bucket_name,
571571
BucketAZConfig='MAZ',
572+
BucketArchConfig='OFS',
572573
ACL='public-read'
573574
)
574575
response = client.head_bucket(
@@ -578,6 +579,7 @@ def test_create_head_delete_maz_bucket():
578579
Bucket=bucket_name
579580
)
580581

582+
581583
def test_put_bucket_acl():
582584
"""正常设置bucket ACL"""
583585
response = client.put_bucket_acl(

0 commit comments

Comments
 (0)