peng 1 жил өмнө
parent
commit
a407cf56fc

+ 19 - 0
Controller/TestApi.py

@@ -186,6 +186,8 @@ class testView(View):
             return self.create_preauth_request(request_dict, response)
         elif operation == 'getOciUrl':
             return self.get_oci_url(request_dict, request, response)
+        elif operation == 'delOciObj':
+            return self.del_oci_obj(request_dict, request, response)
         else:
             return response.json(414)
 
@@ -219,6 +221,23 @@ class testView(View):
             print(repr(e))
             return response.json(500)
 
+    @classmethod
+    def del_oci_obj(cls, request_dict, request, response):
+        """
+        删除对象
+        """
+        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')
+            oci.delete_object(bucket_name, object_name)
+            return response.json(0)
+        except Exception as e:
+            print(repr(e))
+            return response.json(500)
+
     @staticmethod
     def generate_token(request_dict):
         tko = TokenObject()

+ 19 - 0
Object/OCIObjectStorage.py

@@ -112,3 +112,22 @@ class OCIObjectStorage:
             print(repr(e))
             return None
 
+    def delete_object(self, bucket_name, object_name, content_type=None):
+        """
+        删除对象
+        @param bucket_name: 存储桶名称
+        @param object_name: 对象名
+        @param content_type: 文件类型
+        @return: 可访问对象URL
+        """
+        try:
+            object_storage_client = self.object_storage_client
+            # 发送删除请求
+            object_storage_client.delete_object(
+                namespace_name=OCI_NAMESPACE_NAME,
+                bucket_name=bucket_name,
+                object_name=object_name)
+        except Exception as e:
+            print(repr(e))
+            return None
+