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
Copy file name to clipboardExpand all lines: docs/apis/migration-api-shared.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ Do not migrate anonymous sharing links from the source; this is not useful as it
56
56
### Sharing with external users
57
57
Before starting migration, you must ensure all users are provisioned in the customer tenant. For users external to the tenant (ie. from a different organization), provision them as B2B collaboration users in Azure Active Directory. This is done in the Azure portal following these steps:
58
58
59
-
- [Add Azure Active Directory B2B collaboration users in the Azure portal](https://docs.microsoft.com/azure/active-directory/b2b/add-users-administrator).
59
+
- [Add Azure Active Directory B2B collaboration users in the Azure portal](/azure/active-directory/b2b/add-users-administrator).
60
60
61
61
Once the external users are provisioned, share files and folders with them during migration the same way as internal users.
description: "Learn about using the SharePoint Migration API."
3
4
ms.date: 02/04/2021
4
-
ms.reviewer:
5
5
ms.author: jhendr
6
6
author: JoanneHendrickson
7
7
manager: pamgreen
8
8
audience: Dev
9
9
ms.topic: article
10
10
ms.prod: sharepoint-server-itpro
11
11
localization_priority: Priority
12
-
ms.collection:
13
-
- SPMigration
14
-
- M365-collaboration
12
+
ms.collection:
13
+
- SPMigration
14
+
- M365-collaboration
15
15
search.appverid: MET150
16
-
description: "Learn about using the SharePoint Migration API."
17
16
---
18
17
# Migration guidance for ISVs
19
18
20
-
This document guides ISVs in delivering a fast and reliable migration experience to customers. It contains the latest Microsoft migration practices and concerns or questions raised by ISVs.
19
+
This document guides ISVs in delivering a fast and reliable migration experience to customers. It contains the latest Microsoft migration practices and concerns or questions raised by ISVs.
21
20
22
21
## Use app-based authentication
23
-
There are different usage patterns between end user traffic and an application doing background activities such as migration. It is important to identify user traffic versus application traffic.
24
22
25
-
To provide a stable platform and more reliable service, Microsoft is requesting that ISVs transition from using a user-based authentication to app-based authentication to provide greater reliability to our end users and partners.
23
+
There are different usage patterns between end user traffic and an application doing background activities such as migration. It is important to identify user traffic versus application traffic.
24
+
25
+
To provide a stable platform and more reliable service, Microsoft is requesting that ISVs transition from using a user-based authentication to app-based authentication to provide greater reliability to our end users and partners.
26
26
27
-
Migration is a background task application and should **not** be run in user mode. By transitioning to app-based authentication, you will benefit from the elastic capability of off-peak time to have more resources.
27
+
Migration is a background task application and should **not** be run in user mode. By transitioning to app-based authentication, you will benefit from the elastic capability of off-peak time to have more resources.
28
28
29
29
> [!Note]
30
-
>Microsoft will start enforcing the proper usage roles in Q1 2020. Vendors who continue to run migration in user roles can expect to experience increasing throttling and poor performance.
30
+
>Microsoft will start enforcing the proper usage roles in Q1 2020. Vendors who continue to run migration in user roles can expect to experience increasing throttling and poor performance.
31
31
32
32
To learn more on how to register an app ID and how to implement app-based authentication see:
33
33
34
-
-[How to register an app ID](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Factive-directory%2Fdevelop%2Factive-directory-v2-registration-portal&data=04%7C01%7CWan.Wu%40microsoft.com%7C7c98484b20de4fc80fb308d6da3e3509%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636936358039977299%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C-1&sdata=L%2BObRVyCBKPwvvY7MUUsWX%2B8yEIbzqaTkBjcmNjc1vk%3D&reserved=0)
35
-
-[Microsoft Graph Auth guidance](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fgraph%2Fauth%2F&data=04%7C01%7CWan.Wu%40microsoft.com%7C7c98484b20de4fc80fb308d6da3e3509%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636936358039977299%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C-1&sdata=ZrFqXsLT3BtT8ynnlLQH9w7JZIOw07zu2X3EYbBmfD4%3D&reserved=0): Includes an informative video, basics, how to register your app and getting access scenarios
34
+
-[How to register an app ID](/azure/active-directory/develop/active-directory-v2-registration-portal)
35
+
-[Microsoft Graph Auth guidance](/graph/auth): Includes an informative video, basics, how to register your app and getting access scenarios
36
36
-[Don’t get throttled! SharePoint and OneDrive guide to staying below the limits](https://www.youtube.com/watch?v=_pBHfGGdMfE)
37
37
38
38
### App-based authentication migration guidance
39
39
40
40
#### Permission settings
41
+
41
42
Azure Active Directory (AAD) provides two type of permission : delegated permission and application permissions. For official AAD guidance please see:
42
43
43
-
-[Permissions and consent in the Azure Active Directory v1.0 endpoint](https://docs.microsoft.com/azure/active-directory/develop/v1-permissions-and-consent).
44
+
-[Permissions and consent in the Azure Active Directory v1.0 endpoint](/azure/active-directory/develop/v1-permissions-and-consent).
44
45
45
-
For SharePoint and OneDrive migration scenarios, the guidance is to follow the AAD permission specification.
46
+
For SharePoint and OneDrive migration scenarios, the guidance is to follow the AAD permission specification.
46
47
47
-
For migration tool that relies on end user signed in and presence, delegated permission is recommended.
48
+
For migration tool that relies on end user signed in and presence, delegated permission is recommended.
48
49
49
50
For service-based migration tool that run without a signed-in user present such as app that runs as background service, application permission is recommended.
50
51
51
52
#### Number of App IDs
52
53
53
-
Questions have been raised by ISV on whether to have a single App ID covering all migration offering products or having multiple App ID per software offering. There is no specific guidance where the ISVs can identify all of their App IDs. Please contact Microsoft for any corner case scenarios.
54
+
Questions have been raised by ISV on whether to have a single App ID covering all migration offering products or having multiple App ID per software offering. There is no specific guidance where the ISVs can identify all of their App IDs. Please contact Microsoft for any corner case scenarios.
54
55
55
-
>[!Note]
56
+
>[!Note]
56
57
> Please register all your migration app IDs with Microsoft to ensure that you receive adequate throughput for your migration jobs.
57
58
59
+
## Use the Migration API
58
60
59
-
## Use the Migration API
60
61
For migration jobs, the first guidance is to use existing published migration APIs.
61
62
62
63
### Import API (CreateMigrationJob)
63
64
64
-
The *CreateMigrationJob* helps the ISVs to import to SharePoint and OneDrive faster and more reliably.
65
+
The *CreateMigrationJob* helps the ISVs to import to SharePoint and OneDrive faster and more reliably.
-[SharePoint Import Migration API (CreationMigrationJob)](migration-api-overview.md)
67
68
68
69
The latest supported features are:
69
70
70
-
-[Migrate web parts using the Migration API](https://docs.microsoft.com/sharepoint/dev/apis/migrate-webparts-with-migrationapi)
71
-
71
+
-[Migrating web parts using the Migration API](migrate-webparts-with-migrationapi.md)
72
72
73
73
### Export API (Asynchronous Metadata Read)
74
74
75
75
A new migration API, Asynchronous Metadata Read API (Export API) is available to ISVs. The *AsynchronousMetadataRead* helps ISVs export content from SharePoint and OneDrive with fast and reduced calls. For example, the new API can export all the files and lists related metadata from the root level of document library in a single call. This reduces the number of calls needed, the chance of being throttled, and improves performance.
76
76
77
-
To learn more, see [Asynchronous Metadata Read (Export API)](https://docs.microsoft.com/sharepoint/dev/apis/export-amr-api)
77
+
To learn more, see [SharePoint Migration Export (Asynchronous Metadata Read) API](export-amr-api.md)
78
78
79
-
## Switch to the Microsoft Graph API
80
-
If a feature is not supported by the migration API, we recommend that you use the Graph API. If the Graph API does not support the needed migration feature, then use CSOM. However, using CSOM increases the likelihood of being throttled.
79
+
## Switch to the Microsoft Graph API
81
80
82
-
-[Graph Guidance: Best practices for discovering files and detecting changes at scale](https://docs.microsoft.com/onedrive/developer/rest-api/concepts/scan-guidance)
81
+
If a feature is not supported by the migration API, we recommend that you use the Graph API. If the Graph API does not support the needed migration feature, then use CSOM. However, using CSOM increases the likelihood of being throttled.
82
+
83
+
-[Graph Guidance: Best practices for discovering files and detecting changes at scale](/onedrive/developer/rest-api/concepts/scan-guidance)
83
84
84
85
### CSOM Guidance (fallback only)
85
86
86
87
The following provides guidance on specific CSOM implementation scenarios to help improve migration performance with SharePoint and OneDrive.
87
88
88
-
#### Enumeration Query Ordering guidance
89
+
#### Enumeration Query Ordering guidance
90
+
89
91
There are two kinds of enumeration queries, assuming the client intends to read every item with no server-side filtering.
90
92
91
93
To query for every item in the list, recursively – in other words, the order does not depend on which folder(s) the items are contained in – the query should sort by ID.
@@ -100,22 +102,20 @@ To query for every item in a specific folder, the query should sort by the filen
100
102
101
103
You need to be aware of three key numbers as you plan your migration to OneDrive or SharePoint especially when you have a hierarchy of deeply nested folders. They are: (1) the number of SharePoint unique permission scopes, (2) the number of role assignments, and (3) the total number of items in a list or library. Read the full guidance:
-[Migration guidance for ISVs](migration-isv-guidance.md)
104
106
107
+
## For migrations over 100TB
105
108
106
-
## For migrations over 100TB
109
+
For customers migrating greater than 100TB of data, please follow the instructions on how to create a support ticket to help the product team to prepare the backend for the customers.
107
110
108
-
For customers migrating greater than 100TB of data, please follow the instructions on how to create a support ticket to help the product team to prepare the backend for the customers.
111
+
-[Best practices for improving SharePoint and OneDrive migration performance](/sharepointmigration/sharepoint-online-and-onedrive-migration-speed).
109
112
110
-
• [Best practices for improving SharePoint and OneDrive migration performance](https://docs.microsoft.com/sharepointmigration/sharepoint-online-and-onedrive-migration-speed).
111
-
112
113
## Escalation and throttling
113
-
114
+
114
115
The primary reason speed is impacted, and throttling occurs, is due to the load that gets generated by calling CSOM and REST APIs. As a result of this load, throttling rules fire that impact the speed, reliability and predictability of the migration. Throttling is used to protect the database and to ensure a good user experience for our customers.
115
-
116
+
116
117
To read the official throttling guidance, see:
117
118
118
119
-[Avoid getting throttled or blocked in SharePoint Online](https://aka.ms/spo429)
119
120
120
-
We continue to work to identify issues and improve the API. The asynchronous metadata read API is a direct result of ISV feedback. As an ISV/partner, we value your feedback. Please contact Microsoft if you have further questions.
121
-
121
+
We continue to work to identify issues and improve the API. The asynchronous metadata read API is a direct result of ISV feedback. As an ISV/partner, we value your feedback. Please contact Microsoft if you have further questions.
Copy file name to clipboardExpand all lines: docs/apis/migration-perm-guidance.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ There is a role assignment limit of 5,000 per security scope.
42
42
When a library (or list) contains more than 100,000 items (files and folders or list items), you cannot break permissions inheritance on the list itself. There is a limit of 100,000 items that can be updated or removed as a part of creating a new SharePoint security scope.
43
43
44
44
If you are migrating a structure that has more than 100,000 children (such as files, folders, lists, or other object types), you need to restructure the migration by importing security in multiple phases to avoid exceeding this limit. Any VROOM invite, REST share link, or any other permission-modifying function call will trigger an HTTP 429 throttle if the threshold is reached. Permissions will not be updated. Unlike other throttles, waiting and trying again will not resolve the situation as you have reached a hard limit of 100,000.
45
-
To learn more about the service limits in SharePoint for Microsoft 365, see [SharePoint Limits](https://docs.microsoft.com/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries).
45
+
To learn more about the service limits in SharePoint for Microsoft 365, see [SharePoint Limits](/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries).
46
46
47
47
## Folders containing fewer than 100,000 items
48
48
@@ -65,7 +65,7 @@ In this example, at the source, break up the structure into four folders, A, B,
65
65

66
66
67
67
>[!NOTE]
68
-
>There are other limits that must be considered during migration. See [SharePoint Limits](https://docs.microsoft.com/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries) for details.
68
+
>There are other limits that must be considered during migration. See [SharePoint Limits](/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries) for details.
69
69
70
70
### Method 2: Create your destination layout to avoid exceeding limits
Copy file name to clipboardExpand all lines: docs/apis/sharepoint-rest-graph.md
+8-14Lines changed: 8 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -5,31 +5,25 @@ ms.date: 12/05/2020
5
5
ms.service: sharepoint-online
6
6
localization_priority: Priority
7
7
---
8
-
9
8
# SharePoint REST operations via the Microsoft Graph REST API
10
9
11
-
If you are looking for the legacy SharePoint REST API documentation, see [Complete basic operations using SharePoint REST endpoints](https://docs.microsoft.com/sharepoint/dev/sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints).
10
+
If you are looking for the legacy SharePoint REST API documentation, see [Complete basic operations using SharePoint REST endpoints](../sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints.md).
12
11
13
12
For SharePoint Online, innovation using a REST API against SharePoint is driven via the Microsoft Graph REST API's. In scenarios where solutions already have access tokens available to access SharePoint content, it's possible to access the REST API natively within SharePoint instead of calling via the Microsoft Graph API.
14
13
15
14
Below is a table outlining a set of the Microsoft Graph endpoints being backed by SharePoint Online.
If your solution already uses other Microsoft Graph REST API's, it is recommended to call API's via the Microsoft Graph REST endpoints for easier code management.
25
24
26
25
To figure out if a Microsoft Graph REST API call is backed by SharePoint Online you can add `$whatif` to the end of the query to output the underlying SharePoint URL.
27
26
28
27
## See also
29
28
30
-
-[Microsoft Graph REST API v1.0 reference](https://docs.microsoft.com/graph/api/overview?view=graph-rest-1.0)
31
-
32
-
33
-
34
-
35
-
29
+
-[Microsoft Graph REST API v1.0 reference](/graph/api/overview)
0 commit comments