Kopieren von Daten aus SharePoint Online-Listen mithilfe von Azure Data Factory oder Azure Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie Daten aus SharePoint Online-Listen mithilfe der Kopieraktivität in Azure Data Factory- und Azure Synapse-Pipelines kopieren. Dieser Artikel baut auf dem Artikel zur Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.

Unterstützte Funktionen

Dieser SharePoint Online-Listenconnector wird für die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/-) 1.6
Lookup-Aktivität 1.6

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Eine Liste der Datenspeicher, die als Quellen oder Senken unterstützt werden, finden Sie in der Tabelle der unterstützten Datenspeicher.

Genauer gesagt, verwendet dieser SharePoint Online-Listenconnector die Dienstprinzipalauthentifizierung und ruft Daten über das OData-Protokoll ab.

Tipp

Dieser Connector unterstützt das Kopieren von Daten aus einer SharePoint Online-Liste jedoch nicht aus einer Datei. Im Abschnitt Kopieren von Dateien aus SharePoint Online erfahren Sie, wie Sie eine Datei kopieren.

Voraussetzungen

Der SharePoint Online-Listenconnector verwendet die Dienstprinzipalauthentifizierung zum Herstellen einer Verbindung mit SharePoint. Führen Sie die folgenden Schritte aus, um sie einzurichten:

  1. Registrieren einer Anwendung bei der Microsoft Identity Platform. Eine Anleitung finden Sie unter Schnellstart: Registrieren einer Anwendung bei Microsoft Identity Platform. Notieren Sie sich die folgenden Werte, die Sie zum Definieren des verknüpften Diensts verwenden können:

    • Anwendungs-ID
    • Anwendungsschlüssel
    • Mandanten-ID
  2. Erteilen Sie der SharePoint Online-Site Berechtigungen für Ihre registrierte Anwendung, indem Sie die Schritte unten ausführen. Dazu benötigen Sie eine Websiteadministratorrolle.

    1. Öffnen Sie den Link zur SharePoint Online-Site, z. B. https://[your_site_url]/_layouts/15/appinv.aspx (ersetzen Sie dabei die Site-URL).

    2. Suchen Sie die von Ihnen registrierte Anwendungs-ID, füllen Sie die leeren Felder aus, und klicken Sie auf „Erstellen“.

      • App-Domäne: contoso.com

      • Umleitungs-URL: https://www.contoso.com

      • XML-Code zur Berechtigungsanforderung:

        <AppPermissionRequests AllowAppOnlyPolicy="true">
            <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web" Right="Read"/>
        </AppPermissionRequests>
        

        Grant SharePoint Online site permission to your registered application when you have site admin role.

      Hinweis

      Im Kontext des Konfigurierens des SharePoint-Connectors verweisen die „App-Domäne“ und „Umleitungs-URL“ auf die SharePoint-App, die Sie in Microsoft Entra ID registriert haben, um den Zugriff auf Ihre SharePoint-Daten zu gestatten. Die „App-Domäne“ ist die Domäne, in der Ihre SharePoint-Website gehostet wird. Wenn sich Ihre SharePoint-Website beispielsweise auf „https://contoso.sharepoint.com" befindet, handelt es sich bei der „App-Domäne“ um „contoso.sharepoint.com“. Die „Umleitungs-URL“ ist die URL, an die die SharePoint-App weiterleitet, nachdem sich der Benutzer authentifiziert und Berechtigungen für die App erteilt hat. Diese URL sollte eine Seite auf Ihrer SharePoint-Website sein, auf die die App zugreifen darf. Sie können beispielsweise die URL einer Seite verwenden, die eine Liste von Dateien in einer Bibliothek anzeigt, oder eine Seite, die den Inhalt eines Dokuments anzeigt.

    3. Klicken Sie für diese App auf „Vertrauen“.

Erste Schritte

Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:

Erstellen eines verknüpften Diensts für eine SharePoint Online-Liste über die Benutzeroberfläche

Führen Sie die folgenden Schritte aus, um einen verknüpften Dienst für eine SharePoint Online-Liste über die Benutzeroberfläche im Azure-Portal zu erstellen.

  1. Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte „Verwalten“, wählen Sie „Verknüpfte Dienste“ aus, und klicken Sie auf „Neu“:

  2. Suchen Sie nach „SharePoint“, und wählen Sie den SharePoint Online-Listenconnector aus.

    Screenshot of the SharePoint Online List connector.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Screenshot of linked service configuration for a SharePoint Online List.

Details zur Connectorkonfiguration

In den folgenden Abschnitten finden Sie Details zu Eigenschaften, mit denen Sie spezifische Entitäten für den SharePoint Online-Listenconnector definieren können.

Eigenschaften des verknüpften Diensts

Folgende Eigenschaften werden für einen mit einer SharePoint Online-Liste verknüpften Dienst unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft muss auf SharePointOnlineList festgelegt werden. Ja
siteUrl Die URL der SharePoint Online-Site, z. B. https://contoso.sharepoint.com/sites/siteName. Ja
servicePrincipalId Die Anwendungs-ID (Client-ID) für die in Microsoft Entra ID registrierte Anwendung. Weitere Informationen, einschließlich Berechtigungseinstellungen, finden Sie unter Voraussetzungen. Ja
servicePrincipalKey Der Schlüssel der Anwendung. Markieren Sie dieses Feld als SecureString, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Ja
tenantId Die ID des Mandanten, unter dem sich Ihre Anwendung befindet. Ja
connectVia Die Integration Runtime, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden soll. Wenn keine Option angegeben ist, wird die standardmäßige Azure Integration Runtime verwendet. Nein

Beispiel:

{
    "name": "SharePointOnlineList",
    "properties": {
        "type": "SharePointOnlineList",
        "typeProperties": {
            "siteUrl": "<site URL>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenantId": "<tenant ID>"
        }
    }
}

Dataset-Eigenschaften

Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie unter Datasets und verknüpfte Dienste. Der folgende Abschnitt enthält eine Liste der Eigenschaften, die vom SAP-Tabellen-Dataset unterstützt werden.

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft des Datasets muss auf SharePointOnlineLResource festgelegt sein. Ja
listName Der Name der SharePoint Online-Liste. Beachten Sie, dass das Hochkomma (') in Dateinamen nicht erlaubt ist. Ja

Beispiel

{
    "name": "SharePointOnlineListDataset",
    "properties":
    {
        "type": "SharePointOnlineListResource",
        "linkedServiceName": {
            "referenceName": "<SharePoint Online List linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties":
        {
            "listName": "<name of the list>"
        }
    }
}

Eigenschaften der Kopieraktivität

Eine vollständige Liste mit den verfügbaren Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie unter Pipelines. Der folgende Abschnitt enthält eine Liste der Eigenschaften, die von der SharePoint Online-Listenquelle unterstützt werden.

SharePoint Online-Liste als Quelle

Für das Kopieren von Daten aus SharePoint Online-Listen werden folgende Eigenschaften im Abschnitt source der Kopieraktivität unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Quelle der Kopieraktivität muss auf SharePointOnlineListSource festgelegt werden. Ja
Abfrage Benutzerdefinierte OData-Abfrageoptionen zum Filtern von Daten. Beispiel: "$top=10&$select=Title,Number". Nein
httpRequestTimeout Das Timeout (in Sekunden) für das Empfangen einer Antwort auf die HTTP-Anforderung. Die Standardeinstellung ist 300 (5 Minuten). Nein

Beispiel

"activities":[
    {
        "name": "CopyFromSharePointOnlineList",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SharePoint Online List input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SharePointOnlineListSource",
                "query": "<OData query e.g. $top=10&$select=Title,Number>"
            }, 
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Hinweis

Sie können für eine SharePoint Online-Listenquelle nicht mehrere choice-Datentypen auswählen.

Datentypzuordnung für SharePoint Online-Listen

Beim Kopieren von Daten aus SharePoint Online-Listen werden die folgenden Zuordnungen zwischen SharePoint Online-Listendatentypen und vom Dienst intern genutzten Zwischendatentypen verwendet.

SharePoint Online-Datentyp OData-Datentyp Zwischendatentyp
Einzelne Textzeile Edm.String String
Mehrere Textzeilen Edm.String String
Auswahl (Menü zum Auswählen) Edm.String String
Zahl (1, 1,0, 100) Edm.Double Double
Währung ($, ¥, €) Edm.Double Double
Datum und Uhrzeit Edm.DateTime Datetime
Suche (Informationen auf dieser Site) Edm.Int32 Int32
Ja/nein (Kontrollkästchen) Edm.Boolean Boolean
Person oder Gruppe Edm.Int32 Int32
Hyperlink oder Bild Edm.String String
Berechnet (Berechnung basierend auf anderen Spalten) Edm.String/Edm.Double/Edm.DateTime/Edm.Boolean String/Double/DateTime/Boolean
Attachment Nicht unterstützt
Aufgabenergebnis Nicht unterstützt
Externe Daten Nicht unterstützt
Verwaltete Metadaten Nicht unterstützt

Kopieren von Dateien aus SharePoint Online

Sie können eine Datei aus SharePoint Online kopieren, indem Sie mit einer Webaktivität das Zugriffstoken von SPO authentifizieren und erfassen und dann an eine nachfolgende Kopieraktivität übergeben, um Daten mit einem HTTP-Connector als Quelle zu kopieren.

sharepoint copy file flow

  1. Folgen Sie dem Abschnitt Voraussetzungen, um eine Microsoft Entra-Anwendung zu erstellen und Berechtigungen für SharePoint Online zu gewähren.

  2. Erstellen Sie eine Webaktivität, um das Zugriffstoken aus SharePoint Online zu erhalten:

    • URL:https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Ersetzen Sie die Mandanten-ID.
    • Methode: POST
    • Headers:
      • Content-Type: application/x-www-form-urlencoded
    • Text:grant_type=client_credentials&client_id=[Client-ID]@[Tenant-ID]&client_secret=[Client-Secret]&resource=00000003-0000-0ff1-ce00-000000000000/[Tenant-Name].sharepoint.com@[Tenant-ID]. Ersetzen Sie die Client-ID (Anwendungs-ID), den geheimen Clientschlüssel (Anwendungsschlüssel), die Mandanten-ID und den Namen des Mandanten (des SharePoint-Mandanten).

    Achtung

    Legen Sie die Option „Secure Output“ (Sichere Ausgabe) in der Webaktivität auf TRUE fest, um zu verhindern, dass der Tokenwert als Klartext protokolliert wird. Für alle weiteren Aktivitäten, die diesen Wert verwenden, sollte die Option „Sichere Eingabe“ auf „True“ festgelegt werden.

  3. Kette mit einer Kopieraktivität mit HTTP-Connector als Quelle zum Kopieren von SharePoint Online-Dateiinhalten:

    • Verknüpfter HTTP-Dienst:
      • Basis-URL:https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Ersetzen Sie die Site-URL und den relativen Pfad zur Datei. Achten Sie darauf, dass Sie die URL der SharePoint-Website zusammen mit dem Domänennamen angeben, z. B. https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value.
      • Authentifizierungstyp: Anonym (zum Verwenden des später in der Quelle der Kopieraktivität konfigurierten Bearertokens)
    • Dataset: Wählen Sie das gewünschte Format aus. Um die Datei unverändert zu kopieren, wählen Sie den Typ „Binär“ aus.
    • Quelle der Kopieraktivität:
      • Anforderungsmethode: GET
      • Zusätzliche Header: Verwenden Sie den Ausdruck @{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, der das von der Upstreamwebaktivität generierte Bearertoken als Autorisierungsheader verwendet. Ersetzen Sie den Namen der Webaktivität.
    • Konfigurieren Sie die Senke der Kopieraktivität wie üblich.

Hinweis

Auch wenn eine Microsoft Entra-Anwendung über FullControl-Berechtigungen für SharePoint Online verfügt, können Sie keine Dateien aus Dokumentbibliotheken mit aktiviertem IRM kopieren.

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Eine Liste der Datenspeicher, die die Kopieraktivität als Quellen und Senken unterstützt, finden Sie unter Unterstützte Datenspeicher und Formate.