<?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 Re: 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/31746#M23123</link>
    <description>&lt;P&gt;Hi @Rohit Kulkarni​&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope all is well! Just wanted to check in if you were able to resolve your issue and would you be happy to share the solution or mark an answer as best? Else please let us know if you need more help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We'd love to hear from you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 28 Sep 2022 07:10:42 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2022-09-28T07:10:42Z</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/31744#M23121</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 = 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 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.&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 10:00:57 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/get-file-from-sharepoint-to-copy-into-azure-blob-storage/m-p/31744#M23121</guid>
      <dc:creator>RohitKulkarni</dc:creator>
      <dc:date>2022-09-14T10:00:57Z</dc:date>
    </item>
    <item>
      <title>Re: 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/31746#M23123</link>
      <description>&lt;P&gt;Hi @Rohit Kulkarni​&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope all is well! Just wanted to check in if you were able to resolve your issue and would you be happy to share the solution or mark an answer as best? Else please let us know if you need more help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We'd love to hear from you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2022 07:10:42 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/get-file-from-sharepoint-to-copy-into-azure-blob-storage/m-p/31746#M23123</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-09-28T07:10:42Z</dc:date>
    </item>
    <item>
      <title>Re: 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/31745#M23122</link>
      <description>&lt;P&gt;Hi, Share point is not a supported source as per &lt;A href="https://docs.databricks.com/data/data-sources/index.html" alt="https://docs.databricks.com/data/data-sources/index.html" target="_blank"&gt;https://docs.databricks.com/data/data-sources/index.html&lt;/A&gt;. &lt;/P&gt;</description>
      <pubDate>Fri, 16 Sep 2022 05:00:36 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/get-file-from-sharepoint-to-copy-into-azure-blob-storage/m-p/31745#M23122</guid>
      <dc:creator>Debayan</dc:creator>
      <dc:date>2022-09-16T05:00:36Z</dc:date>
    </item>
  </channel>
</rss>

