<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Get file from SharePoint to copy into Azure blob storage in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/get-file-from-sharepoint-to-copy-into-azure-blob-storage/m-p/31705#M23090</link>
    <description>&lt;P&gt;Hello Team,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to copy the xlx files from sharepoint and move to the Azure blob storage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USERNAME = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointUsername',label='BIApp').value&lt;/P&gt;&lt;P&gt;PASSWORD = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointPassword',label='BIApp').value&lt;/P&gt;&lt;P&gt;SHAREPOINT_URL = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointUrl',label='BIApp').value&lt;/P&gt;&lt;P&gt;SHAREPOINT_SITE =app_config_client.get_configuration_setting(key='BIAppConfig:SharepointSite',label='BIApp').value&lt;/P&gt;&lt;P&gt;SHAREPOINT_DOC = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointDocument',label='BIApp').value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class SharePoint:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;def auth(self):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.authcookie = Office365(SHAREPOINT_URL, username = USERNAME, password=PASSWORD).GetCookies()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.site = Site(SHAREPOINT_SITE, version=Version.v365, authcookie=self.authcookie)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.site&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def connect_folder(self, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.auth_site = self.auth()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.sharepoint_dir = ''.join([SHAREPOINT_DOC, folder_name])&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.folder = self.auth_site.Folder(self.sharepoint_dir)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.folder&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def download_file(self, file_name, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._folder = self.connect_folder(folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self._folder.get_file(file_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def _get_files_list(self, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._folder = self.connect_folder(folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self._folder.files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;def download_files(self, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._files_list = self._get_files_list(folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self._files_list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# 1 args = SharePoint folder name.&lt;/P&gt;&lt;P&gt;folder_name = 'Evotec/Global Account Plan/Archive'&lt;/P&gt;&lt;P&gt;# 2 args = SharePoint file name.&lt;/P&gt;&lt;P&gt;file_name = 'Gold Sheet Evotec.xlsx'&lt;/P&gt;&lt;P&gt;# 3 args = SharePoint file name pattern&lt;/P&gt;&lt;P&gt;file_name_pattern = 'Gold Sheet'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# read json file&lt;/P&gt;&lt;P&gt;##ROOT_DIR&amp;nbsp;= os.path.dirname(os.path.abspath(__file__))&lt;/P&gt;&lt;P&gt;ROOT_DIR = os.path.dirname(os.path.abspath(''))&lt;/P&gt;&lt;P&gt;config_path = PurePath(ROOT_DIR, 'config')&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;##with&amp;nbsp;open(config_path) as config_file:&lt;/P&gt;&lt;P&gt;##&amp;nbsp;&amp;nbsp;config = json.load(config_file)&lt;/P&gt;&lt;P&gt;##&amp;nbsp;&amp;nbsp;config = config['azure_storage']&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;### Storage Account &amp;amp; Path&lt;/P&gt;&lt;P&gt;AZURE_ACCOUNT_NAME=app_config_client.get_configuration_setting(key='BIAppConfig:storageAccountName',label='BIApp').value&lt;/P&gt;&lt;P&gt;AZURE_ACCESS_KEY=app_config_client.get_configuration_setting(key='BIAppConfig:storageAccountAccessKey',label='BIApp').value&lt;/P&gt;&lt;P&gt;CONTAINER_NAME=app_config_client.get_configuration_setting(key='BIAppConfig:salesforceContainerName',label='BIApp').value&lt;/P&gt;&lt;P&gt;AZURE_CONN_STR=f'DefaultEndpointsProtocol=https;AccountName={AZURE_ACCOUNT_NAME};AccountKey={AZURE_ACCESS_KEY};EndpointSuffix=&lt;A href="https://core.windows.net/" alt="https://core.windows.net/" target="_blank"&gt;core.windows.net&lt;/A&gt;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;KV_CREDENTIAL = ClientSecretCredential(tenant_id=TENANT_ID,client_id=CLIENT_ID,client_secret=CLIENT_SECRET)&lt;/P&gt;&lt;P&gt;KV_SECRETCLIENT = SecretClient(vault_url=KEYVAULT_URI, credential=KV_CREDENTIAL)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# functions used for azure storage&lt;/P&gt;&lt;P&gt;def upload_file_to_blob(file_obj, file_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;blob = BlobClient.from_connection_string(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conn_str=AZURE_CONN_STR,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container_name=CONTAINER_NAME,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blob_name=file_name,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;credential=AZURE_ACCESS_KEY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;blob.upload_blob(file_obj)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;def get_file(file_n, folder):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;file_obj = SharePoint().download_file(file_n, folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;upload_file_to_blob(file_obj, file_n)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def get_files(folder):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;files_list = SharePoint().download_files(folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;for file in files_list:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file(file['Name'], folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def get_files_by_pattern(pattern, folder):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;files_list = SharePoint().download_files(folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;for file in files_list:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if re.search(pattern, file['Name']):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file(file['Name'], folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if __name__ == '__main__':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;if file_name != 'None':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file(file_name, folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;elif file_name_pattern != 'None':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file_name_pattern(file, folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;else:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_files(folder_name)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am getting error :&lt;/P&gt;&lt;P&gt;AttributeError: 'SharePoint' object has no attribute 'download_file'&lt;/P&gt;&lt;P&gt;AttributeError Traceback (most recent call last)&lt;/P&gt;&lt;P&gt;&amp;lt;command-3758021352223721&amp;gt; in &amp;lt;cell line: 62&amp;gt;()&lt;/P&gt;&lt;P&gt;if __name__ == '__main__':&lt;/P&gt;&lt;P&gt;if file_name != 'None':&lt;/P&gt;&lt;P&gt;---&amp;gt; get_file(file_name, folder_name)&lt;/P&gt;&lt;P&gt;elif file_name_pattern != 'None':&lt;/P&gt;&lt;P&gt;get_file_name_pattern(file, folder_name)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;command-3758021352223721&amp;gt; in get_file(file_n, folder)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;def get_file(file_n, folder):&lt;/P&gt;&lt;P&gt;---&amp;gt; file_obj = SharePoint().download_file(file_n, folder)&lt;/P&gt;&lt;P&gt;upload_file_to_blob(file_obj, file_n)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please advise Aman.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Rohit&lt;/P&gt;</description>
    <pubDate>Wed, 14 Sep 2022 17:24:26 GMT</pubDate>
    <dc:creator>RohitKulkarni</dc:creator>
    <dc:date>2022-09-14T17:24:26Z</dc:date>
    <item>
      <title>Get file from SharePoint to copy into Azure blob storage</title>
      <link>https://community.databricks.com/t5/data-engineering/get-file-from-sharepoint-to-copy-into-azure-blob-storage/m-p/31705#M23090</link>
      <description>&lt;P&gt;Hello Team,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to copy the xlx files from sharepoint and move to the Azure blob storage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USERNAME = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointUsername',label='BIApp').value&lt;/P&gt;&lt;P&gt;PASSWORD = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointPassword',label='BIApp').value&lt;/P&gt;&lt;P&gt;SHAREPOINT_URL = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointUrl',label='BIApp').value&lt;/P&gt;&lt;P&gt;SHAREPOINT_SITE =app_config_client.get_configuration_setting(key='BIAppConfig:SharepointSite',label='BIApp').value&lt;/P&gt;&lt;P&gt;SHAREPOINT_DOC = app_config_client.get_configuration_setting(key='BIAppConfig:SharepointDocument',label='BIApp').value&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class SharePoint:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;def auth(self):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.authcookie = Office365(SHAREPOINT_URL, username = USERNAME, password=PASSWORD).GetCookies()&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.site = Site(SHAREPOINT_SITE, version=Version.v365, authcookie=self.authcookie)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.site&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def connect_folder(self, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.auth_site = self.auth()&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.sharepoint_dir = ''.join([SHAREPOINT_DOC, folder_name])&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self.folder = self.auth_site.Folder(self.sharepoint_dir)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self.folder&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def download_file(self, file_name, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._folder = self.connect_folder(folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self._folder.get_file(file_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def _get_files_list(self, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._folder = self.connect_folder(folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self._folder.files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;def download_files(self, folder_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self._files_list = self._get_files_list(folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return self._files_list&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# 1 args = SharePoint folder name.&lt;/P&gt;&lt;P&gt;folder_name = 'Evotec/Global Account Plan/Archive'&lt;/P&gt;&lt;P&gt;# 2 args = SharePoint file name.&lt;/P&gt;&lt;P&gt;file_name = 'Gold Sheet Evotec.xlsx'&lt;/P&gt;&lt;P&gt;# 3 args = SharePoint file name pattern&lt;/P&gt;&lt;P&gt;file_name_pattern = 'Gold Sheet'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# read json file&lt;/P&gt;&lt;P&gt;##ROOT_DIR&amp;nbsp;= os.path.dirname(os.path.abspath(__file__))&lt;/P&gt;&lt;P&gt;ROOT_DIR = os.path.dirname(os.path.abspath(''))&lt;/P&gt;&lt;P&gt;config_path = PurePath(ROOT_DIR, 'config')&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;##with&amp;nbsp;open(config_path) as config_file:&lt;/P&gt;&lt;P&gt;##&amp;nbsp;&amp;nbsp;config = json.load(config_file)&lt;/P&gt;&lt;P&gt;##&amp;nbsp;&amp;nbsp;config = config['azure_storage']&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;### Storage Account &amp;amp; Path&lt;/P&gt;&lt;P&gt;AZURE_ACCOUNT_NAME=app_config_client.get_configuration_setting(key='BIAppConfig:storageAccountName',label='BIApp').value&lt;/P&gt;&lt;P&gt;AZURE_ACCESS_KEY=app_config_client.get_configuration_setting(key='BIAppConfig:storageAccountAccessKey',label='BIApp').value&lt;/P&gt;&lt;P&gt;CONTAINER_NAME=app_config_client.get_configuration_setting(key='BIAppConfig:salesforceContainerName',label='BIApp').value&lt;/P&gt;&lt;P&gt;AZURE_CONN_STR=f'DefaultEndpointsProtocol=https;AccountName={AZURE_ACCOUNT_NAME};AccountKey={AZURE_ACCESS_KEY};EndpointSuffix=&lt;A href="https://core.windows.net/" alt="https://core.windows.net/" target="_blank"&gt;core.windows.net&lt;/A&gt;'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;KV_CREDENTIAL = ClientSecretCredential(tenant_id=TENANT_ID,client_id=CLIENT_ID,client_secret=CLIENT_SECRET)&lt;/P&gt;&lt;P&gt;KV_SECRETCLIENT = SecretClient(vault_url=KEYVAULT_URI, credential=KV_CREDENTIAL)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# functions used for azure storage&lt;/P&gt;&lt;P&gt;def upload_file_to_blob(file_obj, file_name):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;blob = BlobClient.from_connection_string(&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;conn_str=AZURE_CONN_STR,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;container_name=CONTAINER_NAME,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blob_name=file_name,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;credential=AZURE_ACCESS_KEY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;blob.upload_blob(file_obj)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;def get_file(file_n, folder):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;file_obj = SharePoint().download_file(file_n, folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;upload_file_to_blob(file_obj, file_n)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def get_files(folder):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;files_list = SharePoint().download_files(folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;for file in files_list:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file(file['Name'], folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def get_files_by_pattern(pattern, folder):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;files_list = SharePoint().download_files(folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;for file in files_list:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if re.search(pattern, file['Name']):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file(file['Name'], folder)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if __name__ == '__main__':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;if file_name != 'None':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file(file_name, folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;elif file_name_pattern != 'None':&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_file_name_pattern(file, folder_name)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;else:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;get_files(folder_name)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am getting error :&lt;/P&gt;&lt;P&gt;AttributeError: 'SharePoint' object has no attribute 'download_file'&lt;/P&gt;&lt;P&gt;AttributeError Traceback (most recent call last)&lt;/P&gt;&lt;P&gt;&amp;lt;command-3758021352223721&amp;gt; in &amp;lt;cell line: 62&amp;gt;()&lt;/P&gt;&lt;P&gt;if __name__ == '__main__':&lt;/P&gt;&lt;P&gt;if file_name != 'None':&lt;/P&gt;&lt;P&gt;---&amp;gt; get_file(file_name, folder_name)&lt;/P&gt;&lt;P&gt;elif file_name_pattern != 'None':&lt;/P&gt;&lt;P&gt;get_file_name_pattern(file, folder_name)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;command-3758021352223721&amp;gt; in get_file(file_n, folder)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;def get_file(file_n, folder):&lt;/P&gt;&lt;P&gt;---&amp;gt; file_obj = SharePoint().download_file(file_n, folder)&lt;/P&gt;&lt;P&gt;upload_file_to_blob(file_obj, file_n)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please advise Aman.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Rohit&lt;/P&gt;</description>
      <pubDate>Wed, 14 Sep 2022 17:24:26 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/get-file-from-sharepoint-to-copy-into-azure-blob-storage/m-p/31705#M23090</guid>
      <dc:creator>RohitKulkarni</dc:creator>
      <dc:date>2022-09-14T17:24:26Z</dc:date>
    </item>
  </channel>
</rss>

