Unverified Commit 3d5b147b authored by yihuiwen's avatar yihuiwen Committed by GitHub
Browse files

support cdn (#389)


Co-authored-by: default avataryihuiwen <yihuiwen@sensetime.com>
parent 1438daae
...@@ -28,6 +28,7 @@ class S3DataManager(BaseDataManager): ...@@ -28,6 +28,7 @@ class S3DataManager(BaseDataManager):
self.write_timeout = self.config.get("write_timeout", 10) self.write_timeout = self.config.get("write_timeout", 10)
self.addressing_style = self.config.get("addressing_style", None) self.addressing_style = self.config.get("addressing_style", None)
self.region = self.config.get("region", None) self.region = self.config.get("region", None)
self.cdn_url = self.config.get("cdn_url", "")
self.session = None self.session = None
self.s3_client = None self.s3_client = None
self.presign_client = None self.presign_client = None
...@@ -138,6 +139,9 @@ class S3DataManager(BaseDataManager): ...@@ -138,6 +139,9 @@ class S3DataManager(BaseDataManager):
@class_try_catch_async @class_try_catch_async
async def presign_url(self, filename, abs_path=None): async def presign_url(self, filename, abs_path=None):
filename = self.fmt_path(self.base_path, filename, abs_path) filename = self.fmt_path(self.base_path, filename, abs_path)
if self.cdn_url:
return f"{self.cdn_url}/{filename}"
if self.presign_client: if self.presign_client:
expires = self.config.get("presign_expires", 24 * 60 * 60) expires = self.config.get("presign_expires", 24 * 60 * 60)
out = await asyncio.to_thread(self.presign_client.pre_signed_url, tos.HttpMethodType.Http_Method_Get, self.bucket_name, filename, expires) out = await asyncio.to_thread(self.presign_client.pre_signed_url, tos.HttpMethodType.Http_Method_Get, self.bucket_name, filename, expires)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment