Copy files from Sharepoint into Azure Data Lake Store Gen 2 using ADF

Bharath Ramanathapur Srinivasan 21 Reputation points
2020-07-28T11:20:34.473+00:00

Hi,

Can you let me know if there is a possibility of copying files from Sharepoint folder into Azure data lake store using ADF?

Regards,
Bharath R S

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
10,823 questions
0 comments No comments
{count} votes

Accepted answer
  1. Vaibhav Chaudhari 38,746 Reputation points
    2020-07-28T15:30:10.653+00:00

    I have seen similar questions like this but I don't think there was any answer given.

    18486
    22486
    how-to-fetch-sharepoint-data-and-load-into-azure-blob-storage-using-azure-data-f

    I had to implement similar requirement once and I ended up using Logic App for this. You can also run the logic app from Data factory if that kind of integration is required

    transfer-files-from-sharepoint-to-blob-storage-with-azure-logic-apps

    ===============================================
    If the response helped, do "Accept Answer" and upvote it -- Vaibhav

    1 person found this answer helpful.
    0 comments No comments

4 additional answers

Sort by: Most helpful
  1. KranthiPakala-MSFT 46,507 Reputation points Microsoft Employee
    2020-08-31T19:00:22.197+00:00

    Hi @Anonymous ,

    Could you please refer to below MS doc and see if that helps to achieve your requirement. In case if you face any issues or if you have any feedback/suggestions regarding this implementation, please do share it with us so that I can take it forward to appropriate team.

    Here is the MS doc: Copy file from SharePoint Online using Azure Data Factory

    You can copy file from SharePoint Online by using Web activity to authenticate and grab access token from SPO, then passing to subsequent Copy activity to copy data with HTTP connector as source.

    21642-image.png

    1. Follow the Prerequisites section to create AAD application and grant permission to SharePoint Online.
    2. Create a Web Activity to get the access token from SharePoint Online:
      • URL: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Replace the tenant ID.
      • Method: POST
      • Headers:
        • Content-Type: application/x-www-form-urlencoded
      • Body: grant_type=client_credentials&client_id=[Client-ID]@[Tenant-ID]&client_secret=[Client-Secret]&resource=00000003-0000-0ff1-ce00-000000000000/[Tenant-Name].sharepoint.com@[Tenant-ID]. Replace the client ID, client secret, tenant ID and tenant name.
      Note: Set the Secure Output option to true in Web activity to prevent the token value from being logged in plain text. Any further activities that consume this
      value should have their Secure Input option set to true.
    3. Chain with a Copy activity with HTTP connector as source to copy SharePoint Online file content:
      • HTTP linked service:
        i) Base URL: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Replace the site URL and relative path to file. Sample relative
        path to file as /sites/site2/Shared Documents/TestBook.xlsx.
        ii) Authentication type: Anonymous (to use the Bearer token configured in copy activity source later)
      • Dataset: choose the format you want. To copy file as-is, select "Binary" type.
      • Copy activity source:
        i) Request method: GET
        ii) Additional header: use the following expression@{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, which uses the Bearer token generated by the upstream Web activity as authorization header. Replace the Web activity name.
      • Configure the copy activity sink as usual.

    Hope this helps. Please let us know how it goes.

    Thank you.

    2 people found this answer helpful.

  2. T M, Chaitra SBOBNG-ITY/FB 6 Reputation points
    2021-04-26T17:07:15.32+00:00

    Hi @KranthiPakala-MSFT ,

    how to do if they are bulk files getting loaded to sharepoint , and we need loop to run over these files and get metadata doesnt support HTTPS ..

    please share thoughts

    0 comments No comments

  3. Samy Abdul 3,376 Reputation points
    2021-09-14T16:54:10.93+00:00

    Hi All, I am sorry if I have missed it ,but bit surprised that no one has mentioned Azure functions to accomplish this task. This could be also an alternative solution. Thank you.


  4. Nasima Khatun 1 Reputation point
    2022-05-15T13:16:23.327+00:00

    HI @Samy Abdul

    Do you think Azure function will support ingestiion of all file format from SPOnline to ADLS.

    -Nasima


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.