@@ -108,6 +108,9 @@ def __init__(self, Appid=None, Region=None, SecretId=None, SecretKey=None, Token
108108 elif (Access_id and Access_key ):
109109 self ._secret_id = self .convert_secret_value (Access_id )
110110 self ._secret_key = self .convert_secret_value (Access_key )
111+ elif self ._anonymous :
112+ self ._secret_id = None
113+ self ._secret_key = None
111114 else :
112115 raise CosClientError ('SecretId and SecretKey is Required!' )
113116
@@ -2743,13 +2746,12 @@ def delete_bucket_inventory(self, Bucket, Id, **kwargs):
27432746 params = params )
27442747 return None
27452748
2746- def put_object_tagging (self , Bucket , Key , Tagging = {}, VersionId = None , ** kwargs ):
2749+ def put_object_tagging (self , Bucket , Key , Tagging = {}, ** kwargs ):
27472750 """设置object的标签
27482751
27492752 :param Bucket(string): 存储桶名称.
27502753 :param Key(string): COS路径.
27512754 :param Tagging(dict): Object的标签集合
2752- :param VersionId(string): 对象版本ID,可选.不指定时为Object的最新版本.
27532755 :param kwargs(dict): 设置请求headers.
27542756 :return: None.
27552757
@@ -2777,11 +2779,10 @@ def put_object_tagging(self, Bucket, Key, Tagging={}, VersionId=None, **kwargs):
27772779 lst = ['<Tag>' , '</Tag>' ] # 类型为list的标签
27782780 xml_config = format_xml (data = Tagging , root = 'Tagging' , lst = lst )
27792781 headers = mapped (kwargs )
2780- headers ['Content-MD5' ] = get_md5 (xml_config )
2781- headers ['Content-Type' ] = 'application/xml'
27822782 params = {'tagging' : '' }
2783- if VersionId :
2784- params ['VersionId' ] = VersionId
2783+ if 'versionId' in headers :
2784+ params ['versionId' ] = headers ['versionId' ]
2785+ del headers ['versionId' ]
27852786 url = self ._conf .uri (bucket = Bucket , path = Key )
27862787 logger .info ("put object tagging, url=:{url} ,headers=:{headers}" .format (
27872788 url = url ,
@@ -2796,12 +2797,11 @@ def put_object_tagging(self, Bucket, Key, Tagging={}, VersionId=None, **kwargs):
27962797 params = params )
27972798 return None
27982799
2799- def get_object_tagging (self , Bucket , Key , VersionId = None , ** kwargs ):
2800+ def get_object_tagging (self , Bucket , Key , ** kwargs ):
28002801 """获取object标签
28012802
28022803 :param Bucket(string): 存储桶名称.
28032804 :param Key(string): COS路径.
2804- :param VersionId(string): 对象版本ID,可选.不指定时为Object的最新版本.
28052805 :param kwargs(dict): 设置请求headers.
28062806 :return(dict): Bucket对应的标签.
28072807
@@ -2817,8 +2817,9 @@ def get_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
28172817 """
28182818 headers = mapped (kwargs )
28192819 params = {'tagging' : '' }
2820- if VersionId :
2821- params ['VersionId' ] = VersionId
2820+ if 'versionId' in headers :
2821+ params ['versionId' ] = headers ['versionId' ]
2822+ del headers ['versionId' ]
28222823 url = self ._conf .uri (bucket = Bucket , path = Key )
28232824 logger .info ("get object tagging, url=:{url} ,headers=:{headers}" .format (
28242825 url = url ,
@@ -2835,12 +2836,11 @@ def get_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
28352836 format_dict (data ['TagSet' ], ['Tag' ])
28362837 return data
28372838
2838- def delete_object_tagging (self , Bucket , Key , VersionId = None , ** kwargs ):
2839+ def delete_object_tagging (self , Bucket , Key , ** kwargs ):
28392840 """删除object标签
28402841
28412842 :param Bucket(string): 存储桶名称.
28422843 :param Key(string): COS路径.
2843- :param VersionId(string): 对象版本ID,可选.不指定时为Object的最新版本.
28442844 :param kwargs(dict): 设置请求headers.
28452845 :return(dict): None.
28462846
@@ -2856,8 +2856,9 @@ def delete_object_tagging(self, Bucket, Key, VersionId=None, **kwargs):
28562856 """
28572857 headers = mapped (kwargs )
28582858 params = {'tagging' : '' }
2859- if VersionId :
2860- params ['VersionId' ] = VersionId
2859+ if 'versionId' in headers :
2860+ params ['versionId' ] = headers ['versionId' ]
2861+ del headers ['versionId' ]
28612862 url = self ._conf .uri (bucket = Bucket , path = Key )
28622863 logger .info ("delete object tagging, url=:{url} ,headers=:{headers}" .format (
28632864 url = url ,
0 commit comments