You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
You can copy data from SharePoint Online List to any supported sink data store. For a list of data stores that Copy Activity supports as sources and sinks, see [Supported data stores and formats](copy-activity-overview.md#supported-data-stores-and-formats).
31
30
32
31
Specifically, this SharePoint List Online connector uses service principal authentication and retrieves data via OData protocol.
33
32
33
+
> [!TIP]
34
+
> This connector supports copying data from SharePoint Online **List** but not file. Learn how to copy file from [Copy file from SharePoint Online](#copy-file-from-sharepoint-online) section.
35
+
34
36
## Prerequisites
35
37
36
38
The SharePoint List Online connector uses service principal authentication to connect to SharePoint. Follow these steps to set it up:
37
39
38
40
1. Register an application entity in Azure Active Directory (Azure AD) by following [Register your application with an Azure AD tenant](../storage/common/storage-auth-aad-app.md#register-your-application-with-an-azure-ad-tenant). Make note of the following values, which you use to define the linked service:
39
41
40
-
- Application ID
41
-
- Application key
42
-
- Tenant ID
42
+
- Application ID
43
+
- Application key
44
+
- Tenant ID
43
45
44
46
2. Grant SharePoint Online site permission to your registered application:
45
47
46
-
> [!NOTE]
47
-
>
48
-
> This operation requires SharePoint Online site owner permission. You can find the owner by going to the site home page -> click the "X members" in the right corner -> check who has the "Owner" role.
48
+
> [!NOTE]
49
+
> This operation requires SharePoint Online site owner permission. You can find the owner by going to the site home page -> click the "X members" in the right corner -> check who has the "Owner" role.
50
+
51
+
1. Open SharePoint Online site link e.g. `https://[your_site_url]/_layouts/15/appinv.aspx` (replace tenant and site name).
52
+
2. Search the application ID you registered, fill the empty fields, and click "Create".
49
53
50
-
1.1. Open SharePoint site link e.g. `https://[tenant-name].sharepoint.com/sites/[site-name]/_layouts/15/appinv.aspx` (replace tenant and site name).
51
-
2. Search the application ID you just registered in Step 1, fill the empty fields, and click "Create".
| type | The type property must be set to: **SharePointOnlineList**. | Yes |
78
-
| siteUrl | The SharePoint Online site url. Eg. `https://[tenant-name].sharepoint.com/sites/[site-name]`. | Yes |
81
+
| siteUrl | The SharePoint Online site url, e.g. `https://contoso.sharepoint.com/sites/siteName`. | Yes |
79
82
| servicePrincipalId | The Application (client) ID of the application registered in Azure Active Directory. | Yes |
80
83
| servicePrincipalKey | The application's key. Mark this field as a **SecureString** to store it securely in Data Factory, or [reference a secret stored in Azure Key Vault](store-credentials-in-key-vault.md). | Yes |
81
84
| tenantId | The tenant ID under which your application resides. | Yes |
@@ -89,13 +92,13 @@ The following properties are supported for an SharePoint Online List linked serv
@@ -124,7 +127,7 @@ For a full list of sections and properties that are available for defining datas
124
127
},
125
128
"typeProperties":
126
129
{
127
-
"listName": "MyList"
130
+
"listName": "<name of the list>"
128
131
}
129
132
}
130
133
}
@@ -198,6 +201,36 @@ When you copy data from SharePoint Online List, the following mappings are used
198
201
| External Data | Not supported ||
199
202
| Managed Metadata | Not supported ||
200
203
204
+
## Copy file from SharePoint Online
205
+
206
+
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**.
1. Follow the [Prerequisites](#prerequisites) section to create AAD application and grant permission to SharePoint Online.
211
+
212
+
2. Create a **Web Activity** to get the access token from SharePoint Online:
213
+
214
+
-**URL**: `https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2`. Replace the tenant ID.
215
+
-**Method**: POST
216
+
-**Headers**:
217
+
- Content-Type: application/x-www-form-urlencoded
218
+
-**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 and tenant name.
219
+
220
+
> [!CAUTION]
221
+
> 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.
222
+
223
+
3. Chain with a **Copy activity** with HTTP connector as source to copy SharePoint Online file content:
224
+
225
+
- HTTP linked service:
226
+
-**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`.
227
+
-**Authentication type:** Anonymous *(to use the Bearer token configured in copy activity source later)*
228
+
- Dataset: choose the format you want. To copy file as-is, select "Binary" type.
229
+
- Copy activity source:
230
+
-**Request method**: GET
231
+
-**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.
232
+
- Configure the copy activity sink as usual.
233
+
201
234
## Lookup activity properties
202
235
203
236
To learn details about the properties, check [Lookup activity](control-flow-lookup-activity.md).
0 commit comments