Справочное руководство по 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 миграции обрабатывает задание.