9

SharePoint Online Multiple Files (Folder) Copy with Http Connector

 3 years ago
source link: https://techcommunity.microsoft.com/t5/azure-data-factory/sharepoint-online-multiple-files-folder-copy-with-http-connector/ba-p/2480426?WT_mc_id=DOP-MVP-4025064
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
SharePoint Online Multiple Files (Folder) Copy with Http Connector

SharePoint Online Multiple Files (Folder) Copy with Http Connector

Published 07-01-2021 03:47 AM 492 Views

ADF does not directly support copying a folder/multiple files from SharePoint Online, but there are workarounds to achieve this. Two additional steps needed here as compared to single file copy are:



Below is how the pipeline flow would look like:



Web1 – Get the access token from SPO

Web2 – Get the list of files from SPO folder

ForEach1 – Loop the list of file names

Copy1 – Copy data with HTTP connector as source











Step1:

Grab Access token from SPO

Copy file from SharePoint Online leverages AAD/service principal authentication and SharePoint API to retrieve files.



         a) Register AAD Application



       b) Grant SharePoint site permission to your registered App (need site owner permission on SharePoint)







Full details on how to register app and also granting permissions is mentioned in prerequisites here - https://docs.microsoft.com/en-us/azure/data-factory/connector-sharepoint-online-list#prerequisites



     c) Create an ADF Pipeline. Start with creating a Web Activity to get the access token

Headers:



Debug run to check if the activity succeeds and also check the activity output to see if it returns the access token in the payload. You can also verify the same using Postman client to check if the token is valid.









Step 2:

Get the list of Files



Headers:



 Debug run to see if the activity succeeds, and check it shows the list of files under the folder in the output.











Step 3:

Loop the list of relative file names

















Step 4:

Create Copy activity

    a) HTTP linked service



    b) Configure copy activity HTTP source

         Dataset properties:



Tip: You can test with a static access token gotten from the previous Web activity output first. You can also use expression (add dynamic content): @{concat('Authorization: Bearer ',activity('WebActivityName').output.access_token)}







     c) Configure Linked Service properties









2. Create Copy sink as below









 Successful pipeline run as follows:              







Thanks to @Jijo Puthooran for helping me in authoring this blog.

You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.

%3CLINGO-SUB%20id%3D%22lingo-sub-2480426%22%20slang%3D%22en-US%22%3ESharePoint%20Online%20Multiple%20Files%20(Folder)%20Copy%20with%20Http%20Connector%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2480426%22%20slang%3D%22en-US%22%3E%3CP%3EADF%20does%20not%20directly%20support%20copying%20a%20folder%2Fmultiple%20files%20from%20SharePoint%20Online%2C%20but%20there%20are%20workarounds%20to%20achieve%20this.%20Two%20additional%20steps%20needed%20here%20as%20compared%20to%20single%20file%20copy%20are%3A%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3EGet%20the%20list%20of%20files%3A%3C%2FLI%3E%0A%3CUL%3E%0A%3CLI%3EUser%20can%20maintain%20the%20file%20names%20in%20a%20text%20file%20manually%2C%20OR%3C%2FLI%3E%0A%3CLI%3EUse%20%3CSTRONG%3EWeb%20Activity%3C%2FSTRONG%3E%20to%20call%20SharePoint%20Rest%20API%20to%20get%20the%20list%20of%20files.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CLI%3E%3CSTRONG%3EForEach%20Activity%3C%2FSTRONG%3E%20to%20loop%20the%20list%20of%20relative%20file%20names%20and%20pass%20the%20file%20name%20to%20%3CSTRONG%3ECopy%20Activity%3C%2FSTRONG%3E%20(Base%20URL%20changes%20a%20bit%20as%20compared%20to%20single%20file%20copy)%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3EBelow%20is%20how%20the%20pipeline%20flow%20would%20look%20like%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWeb1%20%E2%80%93%20Get%20the%20access%20token%20from%20SPO%3C%2FP%3E%0A%3CP%3EWeb2%20%E2%80%93%20Get%20the%20list%20of%20files%20from%20SPO%20folder%3C%2FP%3E%0A%3CP%3EForEach1%20%E2%80%93%20Loop%20the%20list%20of%20file%20names%3C%2FP%3E%0A%3CP%3ECopy1%20%E2%80%93%20Copy%20data%20with%20HTTP%20connector%20as%20source%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_0-1624533576973.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290921i9E98367925D7A81E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_0-1624533576973.png%22%20alt%3D%22RoshnaNazir_0-1624533576973.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_1-1624533576976.png%22%20style%3D%22width%3A%20171px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290920iEFD70D8069B8CD5C%2Fimage-dimensions%2F171x78%3Fv%3Dv2%22%20width%3D%22171%22%20height%3D%2278%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_1-1624533576976.png%22%20alt%3D%22RoshnaNazir_1-1624533576976.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CU%3EStep1%3A%3C%2FU%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EGrab%20Access%20token%20from%20SPO%20%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3ECopy%20file%20from%20SharePoint%20Online%20leverages%20AAD%2Fservice%20principal%20authentication%20and%20SharePoint%20API%20to%20retrieve%20files.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3ERegister%20SharePoint%20Application%20and%20Grant%20permission%20-%20%3CA%20href%3D%22https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps%253A%252F%252Fdocs.microsoft.com%252Fen-us%252Fazure%252Fstorage%252Fcommon%252Fstorage-auth-aad-app%253Ftabs%253Ddotnet%2523register-your-application-with-an-azure-ad-tenant%26amp%3Bdata%3D04%257C01%257Cronazi%2540microsoft.com%257C50f867f64f954bc94f5408d92b4b1cf1%257C72f988bf86f141af91ab2d7cd011db47%257C1%257C0%257C637588423885656684%257CUnknown%257CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%253D%257C1000%26amp%3Bsdata%3DyxAw%252FZT8zQOkILWnxMxStfXRWEa2mya9PwArvuEZevI%253D%26amp%3Breserved%3D0%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fstorage%2Fcommon%2Fstorage-auth-aad-app%3Ftabs%3Ddotnet%23register-your-application-with-an-azure-ad-tenant%3C%2FA%3E%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Ba)%20Register%20AAD%20Application%3C%2FP%3E%0A%3COL%3E%0A%3COL%3E%0A%3COL%3E%0A%3CLI%3EOn%20Azure%20Portal%2C%20go%20to%20AAD%20app%20registration%20page%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fportal.azure.com%2F%23blade%2FMicrosoft_AAD_IAM%2FActiveDirectoryMenuBlade%2FRegisteredApps%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fportal.azure.com%2F%23blade%2FMicrosoft_AAD_IAM%2FActiveDirectoryMenuBlade%2FRegisteredApps%3C%2FA%3E%26nbsp%3B%3C%2FLI%3E%0A%3CLI%3ENew%20Registration%20%C3%A0%20Enter%20your%20App%20name%3C%2FLI%3E%0A%3CLI%3EGo%20to%20%22Certificates%20%26amp%3B%20secrets%22%2C%20create%20new%20client%20secret%2C%20you%20can%20set%20the%20expire%20to%201Y%2F2Y%2FNever%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3C%2FOL%3E%0A%3C%2FOL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_2-1624533576980.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290922i2C3D458F9C8B503F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_2-1624533576980.png%22%20alt%3D%22RoshnaNazir_2-1624533576980.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Bb)%20Grant%20SharePoint%20site%20permission%20to%20your%20registered%20App%26nbsp%3B%3CSTRONG%3E(need%20site%20owner%20permission%20on%20SharePoint)%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_3-1624533576986.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290925i3949993259EE7F6E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_3-1624533576986.png%22%20alt%3D%22RoshnaNazir_3-1624533576986.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EFull%20details%20on%20how%20to%20register%20app%20and%20also%20granting%20permissions%20is%20mentioned%20in%20prerequisites%20here%20-%20%3C%2FSTRONG%3E%3CSTRONG%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdata-factory%2Fconnector-sharepoint-online-list%23prerequisites%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fdata-factory%2Fconnector-sharepoint-online-list%23prerequisites%3C%2FA%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Bc)%20Create%20an%20ADF%20Pipeline.%20Start%20with%20creating%20a%20Web%20Activity%20to%20get%20the%20access%20token%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EURL%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps%253A%252F%252Faccounts.accesscontrol.windows.net%252F%25255BTenant-ID%25255D%252Ftokens%252FOAuth%252F2%26amp%3Bdata%3D04%257C01%257Cronazi%2540microsoft.com%257C50f867f64f954bc94f5408d92b4b1cf1%257C72f988bf86f141af91ab2d7cd011db47%257C1%257C0%257C637588423885676680%257CUnknown%257CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%253D%257C1000%26amp%3Bsdata%3DX1pAQ25hVeDdUQ4qLOySnPEOMBAn20pDQNPtUiiTicE%253D%26amp%3Breserved%3D0%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Faccounts.accesscontrol.windows.net%2F%5BTenant-ID%5D%2Ftokens%2FOAuth%2F2%3C%2FA%3E%26nbsp%3B%3C%2FLI%3E%0A%3CLI%3EMethod%3A%20POST%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EHeaders%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EContent-Type%3A%20application%2Fx-www-form-urlencoded%3C%2FLI%3E%0A%3CLI%3EBody%3A%20grant_type%3Dclient_credentials%26amp%3Bclient_id%3D%5BClient-ID%5D%40%5BTenant-ID%5D%26amp%3Bclient_secret%3D%5BClient-Secret%5D%26amp%3Bresource%3D00000003-0000-0ff1-ce00-000000000000%2F%5BTenant-Name%5D%3CA%20href%3D%22mailto%3A.sharepoint.com%40%5BTenant-ID%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E.sharepoint.com%40%5BTenant-ID%3C%2FA%3E%5D%26nbsp%3B%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EDebug%20run%20to%20check%20if%20the%20activity%20succeeds%20and%20also%20check%20the%20activity%20output%20to%20see%20if%20it%20returns%20the%20access%20token%20in%20the%20payload.%20You%20can%20also%20verify%20the%20same%20using%20Postman%20client%20to%20check%20if%20the%20token%20is%20valid.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_4-1624533576989.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290923iF666191B71B55426%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_4-1624533576989.png%22%20alt%3D%22RoshnaNazir_4-1624533576989.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CU%3EStep%202%3A%3C%2FU%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3EGet%20the%20list%20of%20Files%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3ECreate%20another%20Web%20Activity%20to%20get%20the%20list%20of%20files%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CUL%3E%0A%3CLI%3EURL%3A%20%3CA%20href%3D%22https%3A%2F%2F%257bsite_url%257d%2F_api%2Fweb%2FGetFolderByServerRelativeUrl('%2FFolder%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2F%7Bsite_url%7D%2F_api%2Fweb%2FGetFolderByServerRelativeUrl('%2FFolder%3C%2FA%3E%20Name')%2FFiles%3C%2FLI%3E%0A%3CLI%3EMethod%3A%20GET%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EHeaders%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EAuthorization%3A%20%40%7Bconcat('Bearer%20'%2C%20activity('WebActivity1Name').output.access_token)%7D%3C%2FLI%3E%0A%3CLI%3EAccept%3A%20application%2Fjson%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3BDebug%20run%20to%20see%20if%20the%20activity%20succeeds%2C%20and%20check%20it%20shows%20the%20list%20of%20files%20under%20the%20folder%20in%20the%20output.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_5-1624533576991.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290924i54C925DB95BF05F8%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_5-1624533576991.png%22%20alt%3D%22RoshnaNazir_5-1624533576991.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CU%3EStep%203%3A%3C%2FU%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3ELoop%20the%20list%20of%20relative%20file%20names%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3ECreate%20a%20ForEach%20Activity%20with%20inner%20Copy%20activity%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CUL%3E%0A%3CLI%3EItems%3A%20%40activity('WebActivity2Name').output.value%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_6-1624533576992.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290928i1ACAFC4600C6B30E%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_6-1624533576992.png%22%20alt%3D%22RoshnaNazir_6-1624533576992.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_7-1624533576993.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290927iF6469ACA2B8607FD%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_7-1624533576993.png%22%20alt%3D%22RoshnaNazir_7-1624533576993.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_8-1624533576994.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290926i6366437F2BB38F91%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_8-1624533576994.png%22%20alt%3D%22RoshnaNazir_8-1624533576994.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3E%3CU%3EStep%204%3A%3C%2FU%3E%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%3CSTRONG%3ECreate%20Copy%20activity%3C%2FSTRONG%3E%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3ENew%20dataset%20-%26gt%3B%20HTTP%20-%26gt%3B%20Binary%20type%3A%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20a)%20HTTP%20linked%20service%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EBase%20URL%3A%20%3CA%20href%3D%22https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps%253A%252F%252Fmicrosoftapc.sharepoint.com%252Fteams%252Fronazidemo%252F_api%252Fweb%252FGetFileByServerRelativeUrl(%2527%2540%25257blinkedService().FileName%25257d%2527)%252F%2524value%26amp%3Bdata%3D04%257C01%257Cronazi%2540microsoft.com%257C50f867f64f954bc94f5408d92b4b1cf1%257C72f988bf86f141af91ab2d7cd011db47%257C1%257C0%257C637588423885676680%257CUnknown%257CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%253D%257C1000%26amp%3Bsdata%3D12Cw7LPr48xyl1mmRKQUN1Q8qsr%252Bd6zbkjVPHo%252BHBeE%253D%26amp%3Breserved%3D0%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%3CSPAN%3E%26nbsp%3Bhttps%3A%2F%2F%3CSITEURL%3E%2F_api%2Fweb%2FGetFileByServerRelativeUrl%20('%40%7BlinkedService().FileName%7D')%2F%24value%3C%2FSITEURL%3E%3C%2FSPAN%3E%3C%2FA%3E%3C%2FLI%3E%0A%3CLI%3EAuthentication%20Type%3A%20Anonymous%20(use%20token%20configured%20on%20copy%20activity%20source)%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20b)%20Configure%20copy%20activity%20HTTP%20source%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3BDataset%20properties%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EName%3A%20RelativeURL%20(Any%20name)%3C%2FLI%3E%0A%3CLI%3EValue%3A%20%40%7Bitem().ServerRelativeUrl%7D%3C%2FLI%3E%0A%3CLI%3ERequest%20method%3A%20GET%3C%2FLI%3E%0A%3CLI%3EAdditional%20header%3A%20%E2%80%9CAuthorization%3A%20Bearer%20%3CACCESSTOKEN%3E%E2%80%9D%20(accessToken%20is%20generated%20in%20Step1)%3C%2FACCESSTOKEN%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETip%3A%20You%20can%20test%20with%20a%20static%20access%20token%20gotten%20from%20the%20previous%20Web%20activity%20output%20first.%20You%20can%20also%20use%20expression%20(add%20dynamic%20content)%3A%20%40%7Bconcat('Authorization%3A%20Bearer%20'%2Cactivity('WebActivityName').output.access_token)%7D%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_9-1624533576996.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290929i511B422EEF4BA7FE%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_9-1624533576996.png%22%20alt%3D%22RoshnaNazir_9-1624533576996.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3Bc)%20Configure%20Linked%20Service%20properties%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EName%3A%20FileName%20(Any%20Name)%3C%2FLI%3E%0A%3CLI%3EValue%3A%20%40dataset().RelativeURL%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_10-1624533576998.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290930iFF1973F2F6D8FDCF%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_10-1624533576998.png%22%20alt%3D%22RoshnaNazir_10-1624533576998.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_11-1624533577002.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290931iAA331F32C8E87CE9%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_11-1624533577002.png%22%20alt%3D%22RoshnaNazir_11-1624533577002.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E2.%20Create%20Copy%20sink%20as%20below%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_12-1624533577003.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290932iC0B6D580BC869C60%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_12-1624533577003.png%22%20alt%3D%22RoshnaNazir_12-1624533577003.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3BSuccessful%20pipeline%20run%20as%20follows%3A%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22RoshnaNazir_13-1624533577007.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F290933iAFB3237D0B673D18%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22RoshnaNazir_13-1624533577007.png%22%20alt%3D%22RoshnaNazir_13-1624533577007.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThanks%20to%20%3CA%20href%3D%22mailto%3AJijo.Puthooran%40microsoft.com%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%40Jijo%20Puthooran%3C%2FA%3E%20for%20helping%20me%20in%20authoring%20this%20blog.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2480426%22%20slang%3D%22en-US%22%3E%3CP%20style%3D%22background%3A%20white%3B%20margin%3A%200in%200in%2012.0pt%200in%3B%22%3E%3CSPAN%20style%3D%22color%3A%20black%3B%22%3EThis%20blog%20shows%20how%20to%20copy%20multiple%20files%20from%20a%20folder%20from%20SharePoint%20Online%20using%20ADF.%20%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%20style%3D%22background%3A%20white%3B%20margin%3A%200in%200in%2012.0pt%200in%3B%22%3E%3CSPAN%20style%3D%22color%3A%20black%3B%22%3EGo%20through%20this%20public%20documentation%20on%20how%20to%20copy%20a%20single%20file%20-%20%3CA%20href%3D%22https%3A%2F%2Fnam06.safelinks.protection.outlook.com%2F%3Furl%3Dhttps%253A%252F%252Fdocs.microsoft.com%252Fen-us%252Fazure%252Fdata-factory%252Fconnector-sharepoint-online-list%26amp%3Bdata%3D04%257C01%257Cronazi%2540microsoft.com%257C50f867f64f954bc94f5408d92b4b1cf1%257C72f988bf86f141af91ab2d7cd011db47%257C1%257C0%257C637588423885656684%257CUnknown%257CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%253D%257C1000%26amp%3Bsdata%3DWPA8Cozhrmy3EfIKjr8VEiDpfxwq5yD1mwZGeQzvOFQ%253D%26amp%3Breserved%3D0%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3ECopy%20data%20from%20SharePoint%20Online%20List%20by%20using%20Azure%20Data%20Factory%20-%20Azure%20Data%20Factory%20%7C%20Microsoft%20Docs%3C%2FA%3E%3C%2FSPAN%3E%3CU%3E%3C%2FU%3E%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2480426%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAzure%20Data%20Factory%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ECopy%20Activity%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E

Version history
Last update:

‎Jul 01 2021 03:47 AM

Updated by:

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK