title | description | ms.date | ms.author | author | manager | audience | ms.subservice | ms.topic | ms.localizationpriority | ms.collection | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|
SharePoint Import Migration API |
This article provides in depth information on how to use the SPO Migration API. |
04/18/2024 |
ranren |
underreview |
dapodean |
ITPro |
migration-tool |
article |
high |
|
The SharePoint Migration API imports contents into SharePoint at scale. It processes content and manifest packages as jobs in a queue. The API provides process status and logs, making it easy to monitor the progress of each migration job.
Use Migration API to migrate content from file shares, SharePoint Server, and other cloud-based services.
We reformatted this document to bring clarity and correct errors.
Start a migration job with three steps. Check the guidance in each of the steps in this section.
Package the contents in the defined format and upload to Azure Blob Storage Containers as the content package.
Check Content package to see the detailed requirements.
Based on the contents, create manifest files in XML format, and upload to Azure Blob Storage Containers as the manifest package.
Check Manifest files to see the detailed requirements.
Use ProvisionMigrationContainers
method to provision the containers, upload the content package and Manifest into respective containers. Check Use Azure Blob Storage Containers and Azure Queues with Migration API for details. You can also use your own containers and queues if needed.
CreateMigrationJob
method creates a migration job, which is queued up for processing. Migration API manages the queue and returns status and logs. Use CreateMigrationEncrypted
method to migrate encrypted contents. Check SharePoint Migration API Reference for details.
Upon creation of a new migration job, Migration API returns the Job ID. Track the status of the import with GetMigrationJobStatus
method if needed, with the Azure Queue supplied.
Migration API generates logs in the manifest container. Check the log entries for migration results.
Migration generates workload to the SPO backend differently from end user generated traffic. To properly allocate resources with our elastic capability, only use app-based authentication in your migration solution.
Don't use user mode in your migration solution. Running migration in user mode triggers increased throttling, resulting in poor performance.
To learn more on how to register an app ID and how to implement app-based authentication, check How to register an app ID and Microsoft Graph Auth guidance.
Microsoft Entra ID provides two type of permission: Delegated Permission and Application Permissions. Check Permissions and consent in the Azure Active Directory v1.0 endpoint for details.
For SharePoint and OneDrive migration scenarios, follow the Microsoft Entra ID permission specification.
For migration tools that rely on end user signed in and presence, use Delegated permission.
For service-based migration tools that run without a signed-in user present, such as applications that run as background services, use Application permission.
You can choose to share a single App ID to cover multiple migration solutions created, or create individual App ID for each of the products. Make sure to register App IDs. Sharing App IDs doesn't affect performance or throttling.
To avoid migration issues, deactivate the target site for users until the migration completion. The source could remain active, allowing read and write to keep productivity. Switch users to the new SPO destination sites after migration completion.
Migration API processes jobs through a queue mechanism with pre-configured workload management settings. Migration API processes the jobs on a best-effort basis, without Service Level Agreement (SLA) or guaranteed performance.
In order to ensure optimal performance for your migration projects, it's important to plan carefully, especially when dealing with large-scale migrations. For more information on how to estimate timespans and optimize performance, see our performance guide.
To ensure good user experiences for all Microsoft 365 customers, SharePoint uses throttling to protect the SharePoint Online infrastructure. Avoid getting throttled by following throttling guidance.
Check Sharing events article for instructions when migrating shared events metadata with files and folders.
Use SPMT's Web Part serializer DLL to migrate Web Parts into SharePoint. Check Migrate Web Parts for instructions.