瀏覽代碼

新增调试OCI预认证请求URL接口

zhangdongming 1 年之前
父節點
當前提交
2980ef20ef
共有 1 個文件被更改,包括 35 次插入0 次删除
  1. 35 0
      Controller/TestApi.py

+ 35 - 0
Controller/TestApi.py

@@ -58,6 +58,7 @@ from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.CeleryBeatObject import CeleryBeatObj
 from Object.CeleryBeatObject import CeleryBeatObj
 from Object.ContentSecurityObject import ContentSecurity
 from Object.ContentSecurityObject import ContentSecurity
 from Object.IPWeatherObject import IPQuery, OpenWeatherMap, GeoIP2
 from Object.IPWeatherObject import IPQuery, OpenWeatherMap, GeoIP2
+from Object.OCIObjectStorage import OCIObjectStorage
 from Object.m3u8generate import PlaylistGenerator
 from Object.m3u8generate import PlaylistGenerator
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
@@ -183,9 +184,43 @@ class testView(View):
             return self.celery(request_dict, response)
             return self.celery(request_dict, response)
         elif operation == 'tz':
         elif operation == 'tz':
             return self.tz(request_dict, response)
             return self.tz(request_dict, response)
+        elif operation == 'createPreauthRequest':
+            return self.create_preauth_request(request_dict, response)
+        elif operation == 'getOciUrl':
+            return self.get_oci_url(request_dict, request, response)
         else:
         else:
             return response.json(414)
             return response.json(414)
 
 
+    @classmethod
+    def create_preauth_request(cls, request_dict, response):
+
+        oci = OCIObjectStorage(request_dict.get('region'))
+        bucket_name = request_dict.get('bucketName')
+        name = 'oci-test'
+        object_name = request_dict.get('objectName')
+        time_expires = datetime.datetime.utcnow() + datetime.timedelta(minutes=10)
+        result = oci.create_ereauthenticated_request(bucket_name, name, object_name, time_expires)
+        return response.json(0, {'fullPath': result.full_path + result.object_name})
+
+    @classmethod
+    def get_oci_url(cls, request_dict, request, response):
+        """
+        获取Oci存储地址
+        """
+        try:
+            object_name = request_dict.get('objectName', None)
+            if not object_name:
+                return response.json(404)
+            oci = OCIObjectStorage(request_dict.get('region'))
+            bucket_name = request_dict.get('bucketName')
+            name = 'oci-test'
+            time_expires = datetime.datetime.utcnow() + datetime.timedelta(minutes=10)
+            result = oci.get_preauthenticated_request_url(bucket_name, name, object_name, time_expires)
+            return response.json(0, {'data': result.full_path})
+        except Exception as e:
+            print(repr(e))
+            return response.json(500)
+
     @staticmethod
     @staticmethod
     def generate_token(request_dict):
     def generate_token(request_dict):
         tko = TokenObject()
         tko = TokenObject()