Поставщик идентификатора документа в модели надстройки SharePoint
Подход, который вы используете для задания уникальных идентификаторов документов в SharePoint, в новой модели надстроек SharePoint отличается от подхода к коду полного доверия. В типичном сценарии с кодом полного доверия (FTC) или решением фермы обработчики событий элементов списка, выполняющие код объектной модели sharePoint Server, использовались для задания уникальных идентификаторов документов и развертывались с помощью решений SharePoint.
В сценарии модели надстройки SharePoint для задания уникальных идентификаторов документов используются клиентская объектная модель SharePoint (CSOM) и (или) REST API SharePoint.
Рекомендации высокого уровня
Как правило, мы хотели бы предоставить следующие общие рекомендации по настройке уникальных идентификаторов для документов в новой модели надстройки SharePoint.
- Используйте клиентская объектная модель SharePoint (CSOM) и (или) REST API SharePoint, чтобы задать уникальные идентификаторы документов.
- В настоящее время не поддерживается встроенный механизм связывания удаленно обработанного кода для замены поставщика идентификаторов документов, поэтому эта возможность изначально не поддерживается для изменения с помощью удаленных API.
- Однако, как и во многих случаях с моделью надстройки, изучаются альтернативные маршруты.
Как задаются уникальные идентификаторы в документах?
По сути, установка уникального идентификатора для документа означает задание значения столбца в списке или библиотеке документов SharePoint.
SharePoint (CSOM) и (или) REST API можно использовать для задания значений столбцов, а для этого они могут использоваться для задания уникальных идентификаторов документов. Дополнительные сведения об этих API и настройке значений столбцов с их помощью см. в следующих статьях.
- Выполнение основных операций с помощью кода клиентской библиотеки SharePoint 2013 (статья MSDN)
- Работа со списками и элементами списка с помощью REST (статья MSDN)
Параметры для установки уникальных идентификаторов для документов
У вас есть несколько вариантов задания уникальных идентификаторов для документов, хранящихся в SharePoint.
- Использование удаленных приемников событий
- Использование фонового процесса
Использование удаленных приемников событий
В этом шаблоне удаленные приемники событий активируются при отправке новых документов в библиотеки SharePoint. Удаленные приемники событий вызывают CSOM или REST API, чтобы задать уникальные идентификаторы для документов.
- Этот шаблон выполняется сразу после отправки документа в SharePoint.
- Пока код в службе, связанной с удаленным приемником событий, выполняется своевременно, идентификаторы документов задаются быстро после отправки нового документа в SharePoint.
- Этот шаблон работает только с новыми документами, отправленными в SharePoint, и не задает уникальные идентификаторы для документов, хранящихся в SharePoint.
- Операции массовой отправки активируют несколько вызовов к службе, связанной с удаленным приемником событий. Планируйте соответствующим образом, чтобы операции массовой отправки не перегружать службу.
- Удаленный приемник событий не может уведомлять SharePoint о сбое установки уникального идентификатора документа.
Для каких случаев он подходит?
Если вам нужно быстро задать уникальные идентификаторы для документов после их отправки в SharePoint, и вы не ожидаете операций массовой отправки.
Начало работы
В статье Приемники событий и приемники событий списка (рецепт надстройки SharePoint) описывается реализация приемников событий в модели надстройки, а также приведены ссылки на несколько примеров и статей.
Использование фонового процесса
В этом шаблоне фоновый процесс проверяет документы в SharePoint, чтобы определить, имеются ли в них уникальные идентификаторы. Если для документа не найден уникальный идентификатор, фоновый процесс задает уникальный идентификатор для документа. Фоновый процесс вызывает CSOM или REST API, чтобы задать уникальные идентификаторы для документов.
- Этот шаблон выполняется в соответствии с расписанием, заданным для него.
- Этот шаблон работает со всеми документами, для обхода которых написан код.
- Мы рекомендуем использовать службу поиска SharePoint для выполнения запросов, включающих фильтры для возврата списка документов, для которых не заданы уникальные идентификаторы.
- Этот шаблон выполняется быстрее и масштабируется лучше, чем любой другой шаблон запроса.
- Этот шаблон устраняет пользовательскую логику запросов из фоновой службы.
- Для этого шаблона требуется определенная конфигурация поиска.
- Дополнительные сведения о конфигурации поиска см. в разделе Настройка поиска (рецепт надстройки SharePoint).
- Не рекомендуется рекурсивно запрашивать и возвращать метаданные обо всех документах в среде SharePoint путем циклического просмотра веб-объектов и объектов list.
- Этот шаблон работает медленнее и масштабируется хуже, чем любой другой шаблон запроса.
- При использовании этого шаблона могут возникнуть ограничения регулирования API.
- Этот шаблон включает настраиваемую логику запросов в фоновой службе.
- Этот шаблон можно реализовать с помощью веб-задания Azure.
Для каких случаев он подходит?
- Если вам нужно задать уникальные идентификаторы для документов, и удаленные приемники событий недоступны для вас.
- Когда вы ожидаете, что документы отправляются массово.
- Если необходимо убедиться, что для документов заданы уникальные идентификаторы документов.
- Получатель событий не может уведомить SharePoint о сбое установки уникального идентификатора документа.
- Если требуется обработать документы, хранящиеся в SharePoint.
Начало работы
В разделе Задания удаленного таймера (рецепт надстройки SharePoint) описывается реализация заданий удаленного таймера в модели надстройки, а также приводятся ссылки на несколько примеров и статей.
См. также
- Приемники событий и получатели событий списка (рецепт надстройки SharePoint)
- Конфигурация поиска (рецепт надстройки SharePoint)
- Удаленные задания таймера (рецепт надстройки SharePoint)
- Статьи руководства на https://aka.ms/OfficeDevPnPGuidance
- Ссылки в MSDN на https://aka.ms/OfficeDevPnPMSDN
- Видео на https://aka.ms/OfficeDevPnPVideos
Образцы PnP
- OD4B. NavLinksInjection (пример PnP O365)
- Примеры и содержимое в Microsoft 365 Patterns and Practices (PnP)
Область применения
- Office 365 Multi Tenant (MT)
- Office 365 Dedicated (D)
- Локальное развертывание SharePoint 2013