Kopiera data från SharePoint Online-listan med hjälp av Azure Data Factory eller Azure Synapse Analytics

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Den här artikeln beskriver hur du använder kopieringsaktivitet i Azure Data Factory och Azure Synapse-pipelines för att kopiera data från SharePoint Online-listan. Artikeln bygger på kopieringsaktivitet, som visar en allmän översikt över kopieringsaktivitet.

Funktioner som stöds

Den här SharePoint Online List-anslutningsappen stöds för följande funktioner:

Funktioner som stöds IR
aktiviteten Kopiera (källa/-) (1) (2)
Sökningsaktivitet (1) (2)

(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning

En lista över datalager som stöds som källor eller mottagare finns i tabellen Datalager som stöds.

Mer specifikt använder den här SharePoint List Online-anslutningsappen autentisering med tjänstens huvudnamn och hämtar data via OData-protokollet.

Dricks

Den här anslutningsappen stöder kopiering av data från SharePoint Online-listan men inte från en fil. Lär dig hur du kopierar filen från avsnittet Kopiera fil från SharePoint Online .

Kom igång

Om du vill utföra aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:

Skapa en länkad tjänst till en SharePoint Online-lista med hjälp av användargränssnittet

Använd följande steg för att skapa en länkad tjänst till en SharePoint Online-lista i Azure Portal användargränssnittet.

  1. Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:

  2. Sök efter SharePoint och välj anslutningsappen för SharePoint Online-lista.

    Skärmbild av Anslutningsappen för SharePoint Online-lista.

  3. Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.

    Skärmbild av konfiguration av länkad tjänst för en SharePoint Online-lista.

Konfigurationsinformation för anslutningsprogram

Följande avsnitt innehåller information om egenskaper som du kan använda för att definiera entiteter som är specifika för Anslutningsappen för SharePoint Online-lista.

Länkade tjänstegenskaper

Följande egenskaper stöds för en länkad SharePoint Online List-tjänst:

Property Beskrivning Krävs
type Typegenskapen måste anges till: SharePointOnlineList. Ja
siteUrl Url:en för SharePoint Online-webbplatsen, t.ex. https://contoso.sharepoint.com/sites/siteName. Ja
servicePrincipalId Programmets (klient)-ID för programmet som registrerats i Microsoft Entra-ID. Ja
servicePrincipalCredentialType Ange vilken typ av autentiseringsuppgifter som ska användas för autentisering med tjänstens huvudnamn. Tillåtna värden är ServicePrincipalCert och ServicePrincipalKey. Nej
För ServicePrincipalCert
servicePrincipalEmbeddedCert Ange det base64-kodade certifikatet för ditt program som är registrerat i Microsoft Entra-ID och se till att certifikatinnehållstypen är PKCS #12. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. Du måste konfigurera behörighetsinställningarna som refererar till den här artikeln. Nej
servicePrincipalEmbeddedCertPassword Ange lösenordet för certifikatet om certifikatet skyddas med ett lösenord. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. Nej
För ServicePrincipalKey
servicePrincipalKey Programmets nyckel. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. Mer information om behörighetsinställningarna finns i det här avsnittet . Nej
tenantId Klientorganisations-ID:t som programmet finns under. Ja
connectVia Integration Runtime som ska användas för att ansluta till datalagret. Om det inte anges används standardkörningen för Azure Integration Runtime. Nej

Kommentar

Om du använder nyckelautentisering för tjänstens huvudnamn, som baseras på Azure ACS (Access Control Services), rekommenderar vi att du byter till certifikatautentiseringen för tjänstens huvudnamn på grund av ACS-tillbakadragningsplanen.

Exempel 1: Använda nyckelautentisering för tjänstens huvudnamn

{
    "name": "SharePointOnlineList",
    "properties": {
        "type": "SharePointOnlineList",
        "typeProperties": {
            "siteUrl": "<site URL>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType":  "ServicePrincipalKey",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenantId": "<tenant ID>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exempel 2: Använda certifikatautentisering med tjänstens huvudnamn

{
    "name": "SharePointOnlineList",
    "properties": {
        "type": "SharePointOnlineList",
        "typeProperties": {
            "siteUrl": "<site URL>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalEmbeddedCert": { 
                "type": "SecureString", 
                "value": "<base64 encoded string of (.pfx) certificate data>"
            },
            "servicePrincipalEmbeddedCertPassword": { 
                "type": "SecureString", 
                "value": "<password of your certificate>"
            },
            "tenantId": "<tenant ID>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Bevilja behörighet för att använda tjänstens huvudnamnsnyckel

SharePoint List Online-anslutningsappen använder autentisering med tjänstens huvudnamn för att ansluta till SharePoint. Följ de här stegen för att konfigurera det:

  1. Registrera ett program med Microsofts identitetsplattform. Mer information finns i Snabbstart: Registrera ett program med Microsofts identitetsplattform. Anteckna dessa värden som du använder för att definiera den länkade tjänsten:

    • Program-ID:t
    • Programnyckel
    • Klientorganisations-ID
  2. Ge SharePoint Online-webbplatsen behörighet till ditt registrerade program genom att följa stegen nedan. För att göra detta behöver du en platsadministratörsroll.

    1. Öppna din SharePoint Online-webbplatslänk. Till exempel URL:en i formatet https://<your-site-url>/_layouts/15/appinv.aspx där platshållaren <your-site-url> är din webbplats.

    2. Sök i program-ID:t som du registrerade, fyll i de tomma fälten och klicka på "Skapa".

      • Appdomän: contoso.com

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

      • XML för behörighetsbegäran:

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

        Ge SharePoint Online-webbplatsen behörighet till ditt registrerade program när du har rollen som webbplatsadministratör.

      Kommentar

      När du konfigurerar SharePoint-anslutningsappen refererar "AppDomän" och "Omdirigerings-URL" till SharePoint-appen som du har registrerat i Microsoft Entra-ID för att tillåta åtkomst till dina SharePoint-data. "Appdomänen" är den domän där SharePoint-webbplatsen finns. Om din SharePoint-webbplats till exempel finns på "https://contoso.sharepoint.com", skulle "AppDomän" vara "contoso.sharepoint.com". "Omdirigerings-URL" är den URL som SharePoint-appen omdirigeras till när användaren har autentiserat och beviljat behörigheter till appen. Den här URL:en ska vara en sida på din SharePoint-webbplats som appen har behörighet att komma åt. Du kan till exempel använda URL:en för en sida som visar en lista över filer i ett bibliotek eller en sida som visar innehållet i ett dokument.

    3. Klicka på "Lita på det" för den här appen.

Egenskaper för datauppsättning

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i Datauppsättningar och länkade tjänster. Följande avsnitt innehåller en lista över de egenskaper som stöds av SAP-tabelldatauppsättningen.

Property Beskrivning Obligatoriskt
type Datamängdens typegenskap måste anges till SharePointOnlineLResource. Ja
listName Namnet på SharePoint Online-listan. Observera att apostrofen (') inte tillåts i filnamn. Ja

Exempel

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

Egenskaper för kopieringsaktivitet

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i Pipelines. Följande avsnitt innehåller en lista över de egenskaper som stöds av SharePoint Online List-källan.

SharePoint Online-lista som källa

Om du vill kopiera data från SharePoint Online-listan stöds följande egenskaper i avsnittet Kopieringsaktivitetskälla:

Property Beskrivning Obligatoriskt
type Typegenskapen för kopieringsaktivitetskällan måste anges till SharePointOnlineListSource. Ja
query Anpassade OData-frågealternativ för filtrering av data. Exempel: "$top=10&$select=Title,Number". Nej
httpRequestTimeout Tidsgränsen (i andra) för HTTP-begäran för att få ett svar. Standardvärdet är 300 (5 minuter). Nej

Exempel

"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>"
            }
        }
    }
]

Kommentar

Det går inte att välja fler än en datatyp för en SharePoint Online-listkälla.

Datatypsmappning för SharePoint Online-lista

När du kopierar data från SharePoint Online List används följande mappningar mellan SharePoint Online List-datatyper och mellanliggande datatyper som används av tjänsten internt.

SharePoint Online-datatyp OData-datatyp Tillfällig datatyp
Enkelrad med text Edm.String String
Flera textrader Edm.String String
Val (meny att välja från) Edm.String String
Tal (1, 1,0, 100) Edm.Double Dubbel
Valuta ($, ¥, €) Edm.Double Dubbel
Datum och tid Edm.DateTime Datum/tid
Sökning (information som redan finns på webbplatsen) Edm.Int32 Int32
Ja/nej (kryssruta) Edm.Boolean Booleskt
Person eller grupp Edm.Int32 Int32
Hyperlänk eller bild Edm.String String
Beräknad (beräkning baserad på andra kolumner) Edm.String / Edm.Double / Edm.DateTime / Edm.Boolean Sträng/Dubbel/DateTime/Booleskt värde
Bilaga Stöds inte
Uppgiftsresultat Stöds inte
Externa data Stöds inte
Hanterade metadata Stöds inte

Kopiera filen från SharePoint Online

Du kan kopiera filen från SharePoint Online med hjälp av webbaktivitet för att autentisera och hämta åtkomsttoken från SPO och sedan skicka till efterföljande aktiviteten Kopiera för att kopiera data med HTTP-anslutningsappen som källa.

sharepoint-kopieringsfilflöde

  1. Följ avsnittet Bevilja behörighet för att använda tjänstens huvudnyckel för att skapa Microsoft Entra-program och bevilja behörighet till SharePoint Online.

  2. Skapa en webbaktivitet för att hämta åtkomsttoken från SharePoint Online:

    • URL: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Ersätt klientorganisations-ID:t.
    • Metod: POST
    • Rubriker:
      • Innehållstyp: application/x-www-form-urlencoded
    • Brödtext: 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]. Ersätt klient-ID (program-ID), klienthemlighet (programnyckel), klient-ID och klientnamn (för SharePoint-klientorganisationen).

    Varning

    Ange alternativet Säker utdata till sant i webbaktiviteten för att förhindra att tokenvärdet loggas i oformaterad text. Alla ytterligare aktiviteter som använder det här värdet bör ha alternativet Säker indata inställt på sant.

  3. Kedja med en aktiviteten Kopiera med HTTP-anslutningsappen som källa för att kopiera SharePoint Online-filinnehåll:

    • HTTP-länkad tjänst:
      • Bas-URL: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Ersätt webbplats-URL:en och den relativa sökvägen till filen. Se till att inkludera SharePoint-webbplats-URL:en tillsammans med domännamnet, till exempel https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value.
      • Autentiseringstyp: Anonym (om du vill använda ägartoken som konfigurerats i kopieringsaktivitetskällan senare)
    • Datauppsättning: välj önskat format. Om du vill kopiera filen som den är väljer du "Binär" typ.
    • aktiviteten Kopiera källa:
      • Begärandemetod: GET
      • Ytterligare rubrik: Använd följande uttryck@{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, som använder ägartoken som genereras av den överordnade webbaktiviteten som auktoriseringshuvud. Ersätt namnet på webbaktiviteten.
    • Konfigurera kopieringsaktivitetsmottagaren för alla mottagare som stöds.

Kommentar

Även om ett Microsoft Entra-program har FullControl behörigheter på SharePoint Online kan du inte kopiera filer från dokumentbibliotek med IRM aktiverat.

Egenskaper för uppslagsaktivitet

Mer information om egenskaperna finns i Sökningsaktivitet.

En lista över datalager som kopieringsaktivitet stöder som källor och mottagare finns i Datalager och format som stöds.