tencentyun / qcloud-cos-sts-sdk

QCloud COS STS SDK for Backend Server
MIT License
200 stars 188 forks source link

python 的 ‎Scope.get_resource函数有问题 #112

Open sixteen250 opened 5 months ago

sixteen250 commented 5 months ago
    def get_resource(self):
        #省略
        for i in range(len(self.resource_prefix)):
            if not str(self.resource_prefix[i]).startswith('/'):
                self.resource_prefix[i] = '/' + self.resource_prefix[i]
                if self.service_type == 'cos':
                    resource.append("qcs::{service_type}:{region}:uid/{appid}:{bucket}{prefix}".format(service_type=self.service_type, region=self.region,
                                                                                        appid=appid, bucket=self.bucket,
                                                                                        prefix=self.resource_prefix[i]))
                elif self.service_type == 'ci':
                    resource.append("qcs::{service_type}:{region}:uid/{appid}:bucket/{bucket}{prefix}".format(service_type=self.service_type, region=self.region,
                                                                                                       appid=appid, bucket=self.bucket,
                                                                                                       prefix=self.resource_prefix[i]))

if self.service_type == 'cos': 应该是在 if not str(self.resource_prefix[i]).startswith('/'):外面的

不然的话第二次调用get_resource就是返回空列表了

scope = Scope('name/cos:PutObject', '11111-1119673638', 'ap-nanjing', ['test/test.txt', 'test/test2.txt'])
print(scope.get_resource())
print(scope.get_resource())

image