Freigeben über


Dokument-ID-Anbieter im SharePoint-Add-In-Modell

Der Ansatz, den Sie verwenden, um eindeutige Bezeichner für Dokumente in SharePoint festzulegen, unterscheidet sich im neuen SharePoint-Add-In-Modell von dem bei voll vertrauenswürdigem Code. In einem typischen FTC-Szenario (Full Trust Code) / Farm Solution wurden Listenelementereignishandler, die SharePoint Server-seitigen Objektmodellcode ausführen, verwendet, um eindeutige Bezeichner für Dokumente festzulegen, und sie wurden über SharePoint-Lösungen bereitgestellt.

In einem SharePoint-Add-In-Modellszenario werden das Clientseitige SharePoint-Objektmodell (Client-Side Object Model, CSOM) und/oder die SharePoint-REST-API verwendet, um eindeutige Bezeichner für Dokumente festzulegen.

Richtlinien auf hoher Ebene

Als Faustregel möchten wir die folgenden allgemeinen Richtlinien zum Festlegen eindeutiger Bezeichner für Dokumente im neuen SharePoint-Add-In-Modell bereitstellen.

  • Verwenden Sie das SharePoint Client Side Object Model (CSOM) und/oder die SharePoint-REST-APIs, um eindeutige Bezeichner für Dokumente festzulegen.
  • Derzeit wird kein standardmäßiger Mechanismus zum Zuordnen von remote verarbeitetem Code zum Ersetzen des standardmäßigen Dokument-ID-Anbieters unterstützt, sodass diese Funktion nicht nativ unterstützt wird, um mit Remote-APIs geändert zu werden.
  • Wie in vielen Fällen beim Add-In-Modell werden jedoch alternative Routen untersucht.

Wie werden eindeutige Bezeichner für Dokumente festgelegt?

Im Wesentlichen bedeutet das Festlegen eines eindeutigen Bezeichners für ein Dokument das Festlegen des Werts einer Spalte in einer SharePoint-Liste/Dokumentbibliothek.

SharePoint (CSOM) und/oder REST-APIs können verwendet werden, um Spaltenwerte festzulegen, und daher können sie zum Festlegen eindeutiger Bezeichner für Dokumente verwendet werden. Weitere Informationen zu diesen APIs und zum Festlegen von Spaltenwerten finden Sie in den folgenden Artikeln.

Optionen zum Festlegen eindeutiger Bezeichner für Dokumente

Sie haben einige Optionen, um eindeutige Bezeichner für in SharePoint gespeicherte Dokumente festzulegen.

  • Verwenden von Remoteereignisempfängern
  • Verwenden eines Hintergrundprozesses

Verwenden von Remoteereignisempfängern

In diesem Muster werden Remoteereignisempfänger ausgelöst, wenn neue Dokumente in SharePoint-Bibliotheken hochgeladen werden. Die Remoteereignisempfänger führen CSOM- oder REST-API-Aufrufe aus, um eindeutige Bezeichner für Dokumente festzulegen.

  • Dieses Muster wird unmittelbar nach dem Hochladen eines Dokuments in SharePoint ausgeführt.
    • Solange der Code im Dienst, der dem Remoteereignisempfänger zugeordnet ist, zeitnah ausgeführt wird, werden die Dokument-IDs schnell festgelegt, nachdem ein neues Dokument in SharePoint hochgeladen wurde.
  • Dieses Muster funktioniert nur für neue Dokumente, die in SharePoint hochgeladen wurden, und legt keine eindeutigen Bezeichner für Dokumente fest, die bereits in SharePoint gespeichert sind.
  • Massenuploadvorgänge lösen mehrere Aufrufe an den Dienst aus, der dem Remoteereignisempfänger zugeordnet ist. Planen Sie entsprechend, um sicherzustellen, dass Massenuploadvorgänge den Dienst nicht überladen.
  • Es gibt keine Möglichkeit für einen Remoteereignisempfänger, SharePoint zu benachrichtigen, wenn das Festlegen einer eindeutigen Dokument-ID fehlgeschlagen ist.

Wann ist die Option geeignet?

Wenn Sie eindeutige Bezeichner für Dokumente schnell nach dem Hochladen in SharePoint festlegen müssen und Sie keine Massenuploadvorgänge erwarten.

Erste Schritte

Die Ereignisempfänger und Listenereignisempfänger (SharePoint-Add-In-Rezept) beschreibt, wie Ereignisempfänger im Add-In-Modell implementiert werden, und stellt Links zu mehreren Beispielen und Artikeln bereit.

Verwenden eines Hintergrundprozesses

Bei diesem Muster überprüft ein Hintergrundprozess Dokumente in SharePoint, um zu ermitteln, ob für sie ein eindeutiger Bezeichner festgelegt ist. Wenn für ein Dokument kein eindeutiger Bezeichner gefunden wird, legt der Hintergrundprozess einen eindeutigen Bezeichner für das Dokument fest. Der Hintergrundprozess führt CSOM- oder REST-API-Aufrufe durch, um eindeutige Bezeichner für Dokumente festzulegen.

  • Dieses Muster wird gemäß dem Zeitplan ausgeführt, den Sie dafür definieren.
  • Dieses Muster funktioniert für alle Dokumente, die der Code für die Durchforstung geschrieben wird.
  • Es wird empfohlen, den SharePoint-Suchdienst zum Ausführen von Abfragen zu verwenden, die Filter enthalten, um eine Liste von Dokumenten zurückzugeben, für die keine eindeutigen Bezeichner festgelegt sind.
    • Dieses Muster ist am schnellsten und skaliert besser als jedes andere Abfragemuster.
    • Durch dieses Muster wird benutzerdefinierte Abfragelogik aus dem Hintergrunddienst entfernt.
    • Dieses Muster erfordert eine gewisse Suchkonfiguration.
    • Weitere Informationen zur Suchkonfiguration finden Sie unter Suchkonfiguration (SharePoint-Add-In-Rezept).
  • Es wird nicht empfohlen, Metadaten zu allen Dokumenten in einer SharePoint-Umgebung rekursiv abzufragen und zurückzugeben, indem Web- und Listenobjekte durchlaufen werden.
    • Dieses Muster führt die langsamste Leistung aus und skaliert schlechter als jedes andere Abfragemuster.
    • Bei verwendung dieses Musters können API-Drosselungsbeschränkungen auftreten.
    • Dieses Muster enthält benutzerdefinierte Abfragelogik im Hintergrunddienst.
    • Dieses Muster kann mit einem Azure-Webauftrag implementiert werden.

Wann ist die Option geeignet?

  • Wenn Sie eindeutige Bezeichner für Dokumente festlegen müssen, stehen Ihnen keine Option zur Verfügung.
  • Wenn Sie davon ausgehen, dass Dokumente in einem Massenvorgang hochgeladen werden.
  • Wenn Sie sicherstellen müssen, dass eindeutige Dokument-IDs für Dokumente festgelegt sind.
    • Es gibt keine Möglichkeit für einen Ereignisempfänger, SharePoint zu benachrichtigen, wenn das Festlegen einer eindeutigen Dokument-ID fehlgeschlagen ist.
  • Wenn Sie bereits in SharePoint gespeicherte Dokumente verarbeiten müssen.

Erste Schritte

Unter Remote-Zeitgeberaufträge (SharePoint-Add-In-Rezept) wird beschrieben, wie Remotetimeraufträge im Add-In-Modell implementiert werden, und es werden Links zu mehreren Beispielen und Artikeln bereitgestellt.

PnP-Beispiele

Gilt für

  • Office 365 mit mehreren Mandanten (MT)
  • Office 365 dediziert (D)
  • SharePoint 2013 lokal