Преглед изворни кода

Refactored azure bucket api method calls

vikramdoda пре 9 година
родитељ
комит
2e4500fda7
1 измењених фајлова са 21 додато и 38 уклоњено
  1. 21 38
      cloudbridge/cloud/providers/azure/azure_client.py

+ 21 - 38
cloudbridge/cloud/providers/azure/azure_client.py

@@ -27,6 +27,9 @@ class AzureClient(object):
         self._network_management_client = NetworkManagementClient(credentials, self.subscription_id)
         self._network_management_client = NetworkManagementClient(credentials, self.subscription_id)
         self._subscription_client = SubscriptionClient(credentials)
         self._subscription_client = SubscriptionClient(credentials)
         self._compute_client = ComputeManagementClient(credentials, self.subscription_id)
         self._compute_client = ComputeManagementClient(credentials, self.subscription_id)
+        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name,
+                                                                           self.storage_account_name)
+        self._block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
 
 
         log.debug("azure subscription : %s", self.subscription_id)
         log.debug("azure subscription : %s", self.subscription_id)
 
 
@@ -62,6 +65,10 @@ class AzureClient(object):
     def network_management_client(self):
     def network_management_client(self):
         return self._network_management_client
         return self._network_management_client
 
 
+    @property
+    def blob_service(self):
+        return self._block_blob_service
+
     def get_resource_group(self, name):
     def get_resource_group(self, name):
         return self.resource_client.resource_groups.get(name)
         return self.resource_client.resource_groups.get(name)
 
 
@@ -98,65 +105,41 @@ class AzureClient(object):
         return self.network_management_client.network_security_groups.delete(self.resource_group_name, name)
         return self.network_management_client.network_security_groups.delete(self.resource_group_name, name)
 
 
     def list_containers(self):
     def list_containers(self):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        return block_blob_service.list_containers()
+        return self.blob_service.list_containers()
 
 
     def create_container(self, container_name):
     def create_container(self, container_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        block_blob_service.create_container(container_name,public_access=PublicAccess.Container)
-        return block_blob_service.get_container_properties(container_name)
+        self.blob_service.create_container(container_name, public_access=PublicAccess.Container)
+        return self.blob_service.get_container_properties(container_name)
 
 
     def get_container(self, container_name):
     def get_container(self, container_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        return block_blob_service.get_container_properties(container_name)
+        return self.blob_service.get_container_properties(container_name)
 
 
     def delete_container(self, container_name):
     def delete_container(self, container_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        block_blob_service.delete_container(container_name)
+        self.blob_service.delete_container(container_name)
         return None
         return None
     
     
-    def list_blobs(self,container_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        return block_blob_service.list_blobs(container_name)
+    def list_blobs(self, container_name):
+        return self.blob_service.list_blobs(container_name)
 
 
     def get_blob(self, container_name, blob_name):
     def get_blob(self, container_name, blob_name):
         try:
         try:
-            access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-            block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-            return block_blob_service.get_blob_properties(container_name, blob_name)
+            return self.blob_service.get_blob_properties(container_name, blob_name)
         except AzureMissingResourceHttpError:
         except AzureMissingResourceHttpError:
             return None
             return None
 
 
     def create_blob_from_text(self, container_name, blob_name, text):
     def create_blob_from_text(self, container_name, blob_name, text):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        block_blob_service.create_blob_from_text(container_name, blob_name,text)
+        self.blob_service.create_blob_from_text(container_name, blob_name, text)
         return None
         return None
 
 
     def create_blob_from_file(self, container_name, blob_name, file_path):
     def create_blob_from_file(self, container_name, blob_name, file_path):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        block_blob_service.create_blob_from_path(container_name, blob_name,file_path)
+        self.blob_service.create_blob_from_path(container_name, blob_name, file_path)
         return None
         return None
 
 
-    def delete_blob(self,container_name, blob_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name, self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        block_blob_service.delete_blob(container_name, blob_name)
+    def delete_blob(self, container_name, blob_name):
+        self.blob_service.delete_blob(container_name, blob_name)
 
 
     def get_blob_url(self, container_name, blob_name):
     def get_blob_url(self, container_name, blob_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name,
-                                                                           self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        return block_blob_service.make_blob_url(container_name, blob_name)
+        return self.blob_service.make_blob_url(container_name, blob_name)
 
 
     def get_blob_content(self, container_name, blob_name):
     def get_blob_content(self, container_name, blob_name):
-        access_key_result = self.storage_client.storage_accounts.list_keys(self.resource_group_name,
-                                                                           self.storage_account_name)
-        block_blob_service = BlockBlobService(self.storage_account_name, access_key_result.keys[0].value)
-        return block_blob_service.get_blob_to_text(container_name, blob_name)
+        return self.blob_service.get_blob_to_text(container_name, blob_name)