阿里云OSS对象存储-python
1. 存储数据
def save_data(self, data):
"""
保存数据: 使用阿里云oss保存
"""
bucket = oss2.Bucket(oss2.Auth(oss_config["access_key_id"], oss_config["access_key_secret"]), oss_config["endpoint"], oss_config["bucket_name"])
if isinstance(data, list) or isinstance(data, dict):
data = json.dumps(data, ensure_ascii=False, indent=4)
elif isinstance(data, str):
data = data
else:
self.logger.error(f"{self.task_id} 算法参数类型错误!")
return
try:
data = data.encode('utf-8')
result = bucket.put_object(f'{oss_config["oss_dirpath"]}{self.task_id}.json', data)
self.logger.info(f"{self.task_id} 上传结果:{result.status}")
except Exception as e:
self.logger.error(f"{self.task_id} 上传失败:{e}")
2. 获取数据
def get_data_oss(self):
bucket = oss2.Bucket(oss2.Auth(oss_config["access_key_id"], oss_config["access_key_secret"]), oss_config["endpoint"], oss_config["bucket_name"])
data = bucket.get_object(f'{oss_config["oss_dirpath"]}{self.task_id}.json')
json_data = json.loads(data.read())
return json_data