SharePoint 异步元数据读取 (AMR) API 简介

SharePoint 异步元数据读取 (AMR) API 支持从 SharePoint 和 OneDrive 异步导出元数据。

使用 AMR API 从 SharePoint 导出元数据,以便进行增量迁移和迁移后验证。

AMR 专门用于导入方案。 处理元数据、权限或版本请求时,它表现出较差的可伸缩性。 我们无法为数据导出方案(例如跨租户迁移)中的 AMR 使用情况提供性能保证。

新增功能

2024 年 1 月

我们重新格式化了本文档,以明确并更正错误。

导出步骤概述

通过三个步骤从 SharePoint 导出元数据:

预配目标容器和队列

重要

使用 GetMigrationJobProgress API 检索迁移作业状态。

不再需要为迁移作业状态跟踪预配 Azure 队列。 Azure 队列计划于 2026 年下半年弃用。 在此之前,Azure 队列仍可用于状态检索。

使用 ProvisionMigrationContainers 方法预配容器。 有关详细信息,请参阅将Azure Blob 存储容器和 Azure 队列与迁移 API 配合使用。 如果需要,还可以使用自己的容器和队列。

使用 CreateSPAsyncReadJob 方法启动导出

使用 CreateSPAsyncReadJob 方法从单个 URL 或 CreateSPAsyncReadJobWithMultiUrl 从多个 URL 导出元数据(如果需要)。 有关详细信息,请查看 AMR API 参考

使用 ChangeToken 功能获取增量更新。

这两种方法都返回作业 ID,该 ID 可用于跟踪导出状态。

有关详细信息,请查看 AMR API 参考

正在检查状态

重要

使用 GetMigrationJobProgress API 检索迁移作业状态。

不再需要为迁移作业状态跟踪预配 Azure 队列。 Azure 队列计划于 2026 年下半年弃用。 在此之前,Azure 队列仍可用于状态检索。

检查提供的 Azure 队列的导出状态。 有关详细信息,监视事件中列出的 事件

AMR API 导出提供的清单容器中由 JobID命名的文件夹下的元数据。 检查 清单文件 ,了解元数据的格式和验证。

AMR API 按请求将大于 25 MB 的清单包拆分为多个清单文件。

最佳做法

AMR API 功能强大。 确保性能良好,以实现大型迁移项目的缩放。

如果可能,在顶级导出安全性和权限

使用 IncludeSecurity 导出安全性会消耗更多资源并降低导出速度。 先在上层文件夹中导出此元数据,然后导出没有子级元数据的速度会更快。

在单个项上导出元数据

使用 Microsoft Graph 而不是 AMR。

项目少于 10,000 个的文件夹

使用 CreateSPAsyncReadJobWithMultiUrl 将多个文件夹的 URL 合并到单个导出作业中。

包含 10,000 到 100 万个项目的文件夹

使用 CreateSPAsyncReadJob,并将 readOptionIncludeDirectDescendantsOnly 设置为 false。 此值是默认设置。

包含超过 100 万个项目的嵌套文件夹

在将文件夹划分为多个作业时,请仔细规划。 导出作业中的对象计数是导出性能的主要因素。

此示例演示如何从超过 100 万个项目的嵌套文件夹中导出元数据。 当项计数较大时,AMR API 的性能最高。

  • 在根 URL 中使用 CreateSPAsyncReadJob 方法,例如, www.contoso.com/my-resource-document并将 readOptionIncludeDirectDescendantsOnly 设置为 true
  • 利用 SMTotalFileCount 属性获取文件夹中的文件计数。
  • 如果文件夹的项数超过 10,000 个,请继续在每个子文件夹的子文件夹级别使用 createSPAsyncReadJob 方法。
  • 使用 CreateSPAsyncReadJobWithMultiUrl 方法,将子文件夹与少于 10,000 个项目组合在一起。

性能

AMR API 通过具有预配置的工作负载管理设置的队列机制处理作业。 AMR API 会尽最大努力处理作业,没有服务级别协议 (SLA) 或有保证的性能。

经过实验室测试的性能基线

我们在实验室设置中测试了性能。 AMR API 平均每 250-K 个对象每秒导出大约 400 个项目。 峰值性能达到每秒 700 个项目。

多种因素会影响实际性能。 这些因素包括:

  • 要导出的项数
  • AMR API 的实现方式
  • 限制

优化迁移性能

为了确保迁移项目的最佳性能,请务必仔细规划,尤其是在处理大规模迁移时。 有关如何估计时间跨度和优化性能的详细信息,请参阅我们的 性能指南

我看到限制消息

为了确保所有 Microsoft 365 客户的良好用户体验,SharePoint 使用限制来保护 SharePoint 基础结构。 按照限制指南避免受到 限制

租户到租户迁移

AMR 不适用于将 SharePoint 租户中的内容移动到另一个租户的方案。 这种类型的迁移需要使用许多资源密集型读取选项。 这些读取选项的处理时间过长会显著减慢整体迁移速度。

在此方案中,Microsoft不提供性能保证。 根据需要使用 Graph 或 CSOM。