def copy(self, source_path, dest_path, account=None, group_name=None):
        """Copy file from a path to another path. The azure url format is https://myaccount.blob.core.windows.net/mycontainer/myblob.
         Args:
             source_path(str): The path of the file to be copied.
             dest_path(str): The destination path where the file is going to be allocated.
         Raises:
             :exc:`~..OsmosisError`: if the file is not uploaded correctly.
        """
        if 'core.windows.net' not in source_path and 'core.windows.net' not in dest_path:
            self.logger.error("Source or destination must be a azure storage url (format "
                              "https://myaccount.blob.core.windows.net/mycontainer/myblob")
            raise OsmosisError

        # Check if source exists and can read
        if 'core.windows.net' in source_path:
            parse_url = _parse_url(source_path)
            key = self.storage_client.storage_accounts.list_keys(self.resource_group_name, parse_url.account).keys[
                0].value
            if parse_url.file_type == 'blob':
                bs = BlockBlobService(account_name=parse_url.account, account_key=key)
                return bs.get_blob_to_path(parse_url.container_or_share_name, parse_url.file, dest_path)
            elif parse_url.file_type == 'file':
                fs = FileService(account_name=parse_url.account, account_key=key)
                return fs.get_file_to_path(parse_url.container_or_share_name, parse_url.path, parse_url.file, dest_path)
            else:
                raise ValueError("This azure storage type is not valid. It should be blob or file.")
        else:
            parse_url = _parse_url(dest_path)
            key = self.storage_client.storage_accounts.list_keys(self.resource_group_name, parse_url.account).keys[
                0].value
            if parse_url.file_type == 'blob':
                bs = BlockBlobService(account_name=parse_url.account, account_key=key)
                return bs.create_blob_from_path(parse_url.container_or_share_name, parse_url.file, source_path)
            elif parse_url.file_type == 'file':
                fs = FileService(account_name=parse_url.account, account_key=key)
                return fs.create_file_from_path(parse_url.container_or_share_name, parse_url.path, parse_url.file,
                                                source_path)
            else:
                raise ValueError("This azure storage type is not valid. It should be blob or file.")
Copy file from a path to another path. The azure url format is https://myaccount.blob.core.windows.net/mycontainer/myblob.
         Args:
             source_path(str): The path of the file to be copied.
             dest_path(str): The destination path where the file is going to be allocated.
         Raises:
             :exc:`~..OsmosisError`: if the file is not uploaded correctly.