Поделиться через


Справочное руководство по API миграции SharePoint

В этом руководстве описывается использование API миграции SharePoint, который импортирует содержимое в SharePoint на основе файлов манифеста.

CSOM и REST

API миграции поддерживает клиентская объектная модель SharePoint (CSOM) и REST.

Использование пакетов NuGet с CSOM

Чтобы сослаться на клиентская объектная модель SharePoint (CSOM) в решении, используйте пакеты NuGet.

Легко управляйте зависимостями и убедитесь, что решение использует последнюю версию библиотеки CSOM с пакетами NuGet.

Получите последнюю версию пакета CSOM в библиотеках клиентской объектной модели SharePoint с идентификатором Microsoft.SharePointOnline.CSOM.

Инструкции по REST API см. в статье Знакомство со службой REST SharePoint .

Метод CreateMigrationJob

Создает новое задание импорта миграции с пакетом импорта, указанным в azureContainerSourceUri параметре .

Синтаксис CreateMigrationJob

public Guid CreateMigrationJobEncrypted(
Guid gWebId,
string azureContainerSourceUri,
string azureContainerManifestUri,
string azureQueueReportUri,
EncryptionOption AES256CBCKey
)
POST https://{site_url}/_api/site/CreateMigrationJobEncrypted
{
  "options": {
    "AES256CBCKey": "000000000000000000000000000000000000000000000000000000="
  },
  "gWebId": "00000000-0000-0000-0000-000000000000",
  "azureContainerSourceUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw",
  "azureContainerManifestUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw"
}

Параметры CreateMigrationJob

gWebID

Обязательно.

Строковое значение, содержащее уникальный идентификатор целевого веб-сайта, предназначенного для импорта пакета. Сам пакет импорта указывает дополнительные сведения и идентификаторы для импорта. Этот идентификатор можно найти программными средствами, запросив целевой веб-сайт с помощью вызовов CSOM.

azureContainerSourceUri

Обязательно.

Строковое значение, содержащее допустимый URI, включая маркер SAS, для доступа к контейнеру Хранилище BLOB-объектов Azure, который содержит двоичные файлы блока типа.

Инструкции по использованию контейнеров Хранилище BLOB-объектов Azure при миграции см. в статье Использование контейнеров Хранилище BLOB-объектов Azure и очередей Azure с API миграции SharePoint.

При использовании контейнеров содержимого, не предоставляемых этим методом, API миграции требуются Readтолько разрешения , и List . Убедитесь, что время начала маркера SAS задано на момент или до отправки задания. Кроме того, при установке срока действия добавьте разумное время завершения процесса импорта.

API миграции не требует List разрешения от контейнеров, подготовленных с помощью ProvisionMigrationContainers метода .

azureContainerManifestUri

Обязательно.

Строковое значение, содержащее допустимый URI, включая маркер SAS, для доступа к контейнеру Хранилище BLOB-объектов Azure, который содержит блочные BLOB-объекты для манифеста и других пакетов, описывающих XML-файлы. API миграции записывает журнал в этот контейнер. Этот контейнер не может совпадать с контейнером, используемым azureContainerSourceUriдля .

Инструкции по использованию контейнеров Хранилище BLOB-объектов Azure при миграции см. в статье Использование контейнеров Хранилище BLOB-объектов Azure и очередей Azure с API миграции SharePoint.

При использовании контейнеров содержимого, не предоставляемых этим методом, API миграции требуются Readтолько разрешения , Listи Write . Убедитесь, что время начала маркера SAS задано на момент или до отправки задания. Кроме того, при установке срока действия добавьте разумное время завершения процесса импорта.

azureQueueReportUri

Необязательный параметр.

Строковое значение, содержащее допустимый URL-адрес, включая маркер SAS, для доступа к предоставленной пользователем очереди Azure для выполнения задания миграции. Используйте, null если получение обновлений состояния импорта не требуется.

Если это значение не nullравно , а маркер SAS содержит правильные разрешения, API миграции записывает обновления состояния импорта в очередь по указанному URL-адресу.

Совместное использование очереди уведомлений между несколькими заданиями миграции. API миграции идентифицирует каждое задание с уникальными значениями идентификатора задания в очереди уведомлений.

Инструкции по использованию очереди Azure при миграции см. в статье Azure . Проверьте события миграции в очереди Azure , чтобы узнать о типах событий.

Требуются Addтолько разрешения , Readи Update . Если маркер SAS имеет другие разрешения, задание миграции не сможет добавить события в очередь.

Возвращаемое значение CreateMigrationJob

Идентификатор задания

Значение Guid , содержащее идентификатор задания, уникальный идентификатор задания миграции. Метод возвращает null значение, если ему не удается создать задание. Используйте идентификатор задания для запроса состояния заданий миграции с помощью GetMigrationJobStatus метода .

Пример

Guid MigrationJobId = TargetSite.CreateMigrationJob(
TargetWebId,
azureContainerSourceUri,
azureContainerManifestUri,
azureQueueReportUri);

Метод CreateMigrationJobEncrypted

Создает новое задание импорта миграции с зашифрованным пакетом PRIME.

Ознакомьтесь с инструкциями по шифрованию в Azure для использования Хранилище BLOB-объектов Azure контейнера и шифрования очереди Azure.

Синтаксис CreateMigrationJobEncrypted

public Guid CreateMigrationJobEncrypted(
Guid gWebId,
string azureContainerSourceUri,
string azureContainerManifestUri,
string azureQueueReportUri,
EncryptionOption AES256CBCKey
)
POST https://{site_url}/_api/site/CreateMigrationJobEncrypted
{
  "options": {
    "AES256CBCKey": "000000000000000000000000000000000000000000000000000000="
  },
  "gWebId": "00000000-0000-0000-0000-000000000000",
  "azureContainerSourceUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw",
  "azureContainerManifestUri": "https://tenant.blob.core.windows.net:443/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000=rw"
}

Параметры CreateMigrationJobEncrypted

gWebIDПараметры , azureContainerSourceUri, azureContainerManifestUriи имеют те же требования, что и azureQueueReportUri в методе CreateMigrationJob .

Укажите EncryptionOption параметр, как описано ниже.

EncryptionOption

Обязательно.

Объект EncryptionOption , содержащий AES256CBCKey, используемый для расшифровки выходных данных.

API миграции шифрует выходные данные с помощью предоставленного ключа AES256CBCKey.

Дополнительные сведения см [EncryptionOption](https://learn.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.client.encryptionoption) . в разделе класс.

Возвращаемое значение CreateMigrationJobEncrypted

См. раздел Возвращаемое значение в CreateMigrationJob методе.

Метод GetMigrationJobStatus

Извлекает состояние обработки для указанного задания миграции.

API миграции удаляет завершенные задания миграции из очереди заданий таймера. Проверьте очередь уведомлений и (или) выходные данные журнала на наличие результатов импорта.

Синтаксис GetMigrationJobStatus

[ClientNS.ClientCallableMethod]
public SPMigrationJobState GetMigrationJobStatus(Guid MigrationJobId)

Параметры GetMigrationJobStatus

ИД

Обязательно.

Значение GUID , содержащее идентификатор задания миграции, возвращается из CreateMigrationJob.

Возвращаемое значение GetMigrationJobStatus

Объект SPMigrationJobState , содержащий состояние задания миграции.

Пример GetMigrationJobStatus

SPMigrationJobState CurrentJobState = TargetSite.GetMigrationJobStatus(MigrationJobId);

Перечисление SPMigrationJobState

Содержит элементы, представляющие состояние заданий миграции в очереди импорта.

Члены SPMigrationJobState

Нет

Значение: 0

Очередь не содержит задание миграции с идентификатором задания. Возможные причины:

  • API миграции завершил задание и удалил его из очереди.
  • Недопустимый идентификатор задания.

В очереди

Значение: 2

Очередь содержит задание миграции. API миграции не обрабатывает задание.

Обработка

Значение: 4

Очередь содержит задание миграции. API миграции обрабатывает задание.