完成项目信息管理的迁移
This commit is contained in:
59
utils/huawei_obs.py
Normal file
59
utils/huawei_obs.py
Normal file
@ -0,0 +1,59 @@
|
||||
from application.settings import HUAWEI_OBS
|
||||
|
||||
from obs import ObsClient
|
||||
from obs import DeleteObjectsRequest
|
||||
from obs import Object
|
||||
|
||||
|
||||
class ObsClient:
|
||||
|
||||
def __int__(self):
|
||||
self.obsClient = ObsClient(
|
||||
access_key_id=HUAWEI_OBS['AccessKeyID'],
|
||||
secret_access_key=HUAWEI_OBS['SecretAccessKey'],
|
||||
server=HUAWEI_OBS["server"])
|
||||
|
||||
async def put_file(self, objectKey: str, file_path: str):
|
||||
resp = await self.obsClient.putFile(
|
||||
bucketName=HUAWEI_OBS["bucketName"],
|
||||
objectKey=objectKey,
|
||||
file_path=file_path)
|
||||
if resp.status < 300:
|
||||
print("objectKey", objectKey)
|
||||
print("url", resp.body.objectUrl)
|
||||
return True, objectKey, resp.body.objectUrl
|
||||
else:
|
||||
return False, None, None
|
||||
|
||||
async def put_object(self, objectKey: str, file_content):
|
||||
resp = await self.obsClient.put_object(
|
||||
bucketName=HUAWEI_OBS["bucketName"],
|
||||
objectKey=objectKey,
|
||||
file_cotent=file_content)
|
||||
if resp.status < 300:
|
||||
print("objectKey", objectKey)
|
||||
print("url", resp.body.objectUrl)
|
||||
return True, objectKey, resp.body.objectUrl
|
||||
else:
|
||||
return False, None, None
|
||||
|
||||
async def del_objects(self, object_keys: []):
|
||||
objects = []
|
||||
for object_key in object_keys:
|
||||
object_one = Object(key=object_key, versionId=None)
|
||||
objects.append(object_one)
|
||||
encoding_type = 'url'
|
||||
|
||||
resp = await self.obsClient.deleteObjects(
|
||||
bucketName=HUAWEI_OBS["bucketName"],
|
||||
deleteObjectsRequest=DeleteObjectsRequest(quiet=False, objects=objects, encoding_type=encoding_type))
|
||||
if resp.status < 300:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
async def close(self):
|
||||
await self.obsClient.close()
|
||||
|
||||
|
Reference in New Issue
Block a user