mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-19 06:45:55 +08:00
Fix: enhance aliyun oss access with adding prefix path (#5475)
### What problem does this PR solve? Enhance aliyun oss access with adding prefix path. ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
parent
622b72db4b
commit
85924e898e
@ -43,6 +43,7 @@ redis:
|
|||||||
# endpoint_url: '${ENDPOINT}'
|
# endpoint_url: '${ENDPOINT}'
|
||||||
# region: '${REGION}'
|
# region: '${REGION}'
|
||||||
# bucket: '${BUCKET}'
|
# bucket: '${BUCKET}'
|
||||||
|
# prefix_path: '${OSS_PREFIX_PATH}'
|
||||||
# azure:
|
# azure:
|
||||||
# auth_type: 'sas'
|
# auth_type: 'sas'
|
||||||
# container_url: 'container_url'
|
# container_url: 'container_url'
|
||||||
|
@ -33,6 +33,7 @@ class RAGFlowOSS(object):
|
|||||||
self.endpoint_url = self.oss_config.get('endpoint_url', None)
|
self.endpoint_url = self.oss_config.get('endpoint_url', None)
|
||||||
self.region = self.oss_config.get('region', None)
|
self.region = self.oss_config.get('region', None)
|
||||||
self.bucket = self.oss_config.get('bucket', None)
|
self.bucket = self.oss_config.get('bucket', None)
|
||||||
|
self.prefix_path = self.oss_config.get('prefix_path', None)
|
||||||
self.__open__()
|
self.__open__()
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -43,6 +44,14 @@ class RAGFlowOSS(object):
|
|||||||
return method(self, actual_bucket, *args, **kwargs)
|
return method(self, actual_bucket, *args, **kwargs)
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def use_prefix_path(method):
|
||||||
|
def wrapper(self, bucket, fnm, *args, **kwargs):
|
||||||
|
# If the prefix path is set, use the prefix path
|
||||||
|
fnm = f"{self.prefix_path}/{fnm}" if self.prefix_path else fnm
|
||||||
|
return method(self, bucket, fnm, *args, **kwargs)
|
||||||
|
return wrapper
|
||||||
|
|
||||||
def __open__(self):
|
def __open__(self):
|
||||||
try:
|
try:
|
||||||
if self.conn:
|
if self.conn:
|
||||||
@ -79,8 +88,9 @@ class RAGFlowOSS(object):
|
|||||||
return exists
|
return exists
|
||||||
|
|
||||||
def health(self):
|
def health(self):
|
||||||
bucket, fnm, binary = "txtxtxtxt1", "txtxtxtxt1", b"_t@@@1"
|
bucket = self.bucket
|
||||||
|
fnm = "txtxtxtxt1"
|
||||||
|
fnm, binary = f"{self.prefix_path}/{fnm}" if self.prefix_path else fnm, b"_t@@@1"
|
||||||
if not self.bucket_exists(bucket):
|
if not self.bucket_exists(bucket):
|
||||||
self.conn.create_bucket(Bucket=bucket)
|
self.conn.create_bucket(Bucket=bucket)
|
||||||
logging.debug(f"create bucket {bucket} ********")
|
logging.debug(f"create bucket {bucket} ********")
|
||||||
@ -94,6 +104,7 @@ class RAGFlowOSS(object):
|
|||||||
def list(self, bucket, dir, recursive=True):
|
def list(self, bucket, dir, recursive=True):
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
@use_prefix_path
|
||||||
@use_default_bucket
|
@use_default_bucket
|
||||||
def put(self, bucket, fnm, binary):
|
def put(self, bucket, fnm, binary):
|
||||||
logging.debug(f"bucket name {bucket}; filename :{fnm}:")
|
logging.debug(f"bucket name {bucket}; filename :{fnm}:")
|
||||||
@ -110,6 +121,7 @@ class RAGFlowOSS(object):
|
|||||||
self.__open__()
|
self.__open__()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
@use_prefix_path
|
||||||
@use_default_bucket
|
@use_default_bucket
|
||||||
def rm(self, bucket, fnm):
|
def rm(self, bucket, fnm):
|
||||||
try:
|
try:
|
||||||
@ -117,6 +129,7 @@ class RAGFlowOSS(object):
|
|||||||
except Exception:
|
except Exception:
|
||||||
logging.exception(f"Fail rm {bucket}/{fnm}")
|
logging.exception(f"Fail rm {bucket}/{fnm}")
|
||||||
|
|
||||||
|
@use_prefix_path
|
||||||
@use_default_bucket
|
@use_default_bucket
|
||||||
def get(self, bucket, fnm):
|
def get(self, bucket, fnm):
|
||||||
for _ in range(1):
|
for _ in range(1):
|
||||||
@ -130,6 +143,7 @@ class RAGFlowOSS(object):
|
|||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@use_prefix_path
|
||||||
@use_default_bucket
|
@use_default_bucket
|
||||||
def obj_exist(self, bucket, fnm):
|
def obj_exist(self, bucket, fnm):
|
||||||
try:
|
try:
|
||||||
@ -141,6 +155,7 @@ class RAGFlowOSS(object):
|
|||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@use_prefix_path
|
||||||
@use_default_bucket
|
@use_default_bucket
|
||||||
def get_presigned_url(self, bucket, fnm, expires):
|
def get_presigned_url(self, bucket, fnm, expires):
|
||||||
for _ in range(10):
|
for _ in range(10):
|
||||||
@ -156,3 +171,4 @@ class RAGFlowOSS(object):
|
|||||||
self.__open__()
|
self.__open__()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user