import time import oss2 import os class OSS_object(): def __init__(self): access_key_id = os.getenv('OSS_TEST_ACCESS_KEY_ID', 'LTAI5tPZA6M67YRoxGPdJw1v') access_key_secret = os.getenv('OSS_TEST_ACCESS_KEY_SECRET', 'BPydkvYFrXsbOYj3ix8UHQSLS4ivNP') bucket_name = os.getenv('OSS_TEST_BUCKET', 'oss-aidigitalfield') endpoint = os.getenv('OSS_TEST_ENDPOINT', 'oss-cn-beijing.aliyuncs.com') # access_key_id = os.getenv('OSS_TEST_ACCESS_KEY_ID', 'LTAI5tMq9DivPYYkcpc6qhNP') # access_key_secret = os.getenv('OSS_TEST_ACCESS_KEY_SECRET', 'XIkDAq7r4U9BVf7fkKECP46FXDLF9l') # bucket_name = os.getenv('OSS_TEST_BUCKET', 'digit-person') # endpoint = os.getenv('OSS_TEST_ENDPOINT', 'oss-cn-beijing.aliyuncs.com') # access_key_id = os.getenv('OSS_TEST_ACCESS_KEY_ID', 'LTAI5tByNnrV4vRVioW66uq2') # access_key_secret = os.getenv('OSS_TEST_ACCESS_KEY_SECRET', 'bLGYCKUNtQTDfzGfXqw06MWYomr5lw') # bucket_name = os.getenv('OSS_TEST_BUCKET', 'mzyidong-tmp') # endpoint = os.getenv('OSS_TEST_ENDPOINT', 'oss-cn-zhangjiakou-internal.aliyuncs.com') for param in (access_key_id, access_key_secret, bucket_name, endpoint): assert '<' not in param, '请设置参数:' + param self.bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name) def upload_file(self, file, target_name): t0 = time.time() with open(oss2.to_unicode(file), 'rb') as f: ret = self.bucket.put_object(target_name, f) print(ret.headers['x-oss-request-id']) url = "https://oss-aidigitalfield.oss-cn-beijing.aliyuncs.com/{}".format(target_name) print('耗时:{},签名url的地址为:{}'.format(time.time() - t0, url)) return url if __name__ == '__main__': oss_2 = OSS_object() t0 = time.time() url = oss_2.upload_file('/home/szlc/Downloads/多中心录入模版.xlsx', 'tongji/多中心录入模版.xlsx') print('url:', url)