Share via


Gegevens kopiëren uit sharePoint Online-lijst met behulp van Azure Data Factory of Azure Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u kopieeractiviteit gebruikt in Azure Data Factory- en Azure Synapse-pijplijnen om gegevens te kopiëren uit de SharePoint Online-lijst. Het artikel bouwt voort op kopieeractiviteit, waarin een algemeen overzicht van de kopieeractiviteit wordt weergegeven.

Ondersteunde mogelijkheden

Deze SharePoint Online-lijstconnector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR
Copy-activiteit (bron/-) (1) (2)
Activiteit Lookup (1) (2)

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Zie de tabel Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen of sinks.

Deze SharePoint List Online-connector maakt specifiek gebruik van service-principalverificatie en haalt gegevens op via het OData-protocol.

Tip

Deze connector ondersteunt het kopiëren van gegevens uit sharePoint Online-lijst , maar niet van het bestand. Meer informatie over het kopiëren van een bestand uit de sectie Bestand kopiëren vanuit SharePoint Online .

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken voor een SharePoint Online-lijst met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor een SharePoint Online-lijst in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek naar SharePoint en selecteer de connector voor de SharePoint Online-lijst.

    Schermopname van de Connector voor SharePoint Online-lijst.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Schermopname van de configuratie van gekoppelde services voor een SharePoint Online-lijst.

Configuratiedetails van connector

In de volgende secties vindt u informatie over eigenschappen die u kunt gebruiken om entiteiten te definiëren die specifiek zijn voor de SharePoint Online-lijstconnector.

Eigenschappen van gekoppelde service

De volgende eigenschappen worden ondersteund voor een gekoppelde SharePoint Online-lijstservice:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op: SharePointOnlineList. Ja
siteUrl De URL van de SharePoint Online-site, bijvoorbeeld https://contoso.sharepoint.com/sites/siteName. Ja
servicePrincipalId De toepassings-id (client) van de toepassing die is geregistreerd in Microsoft Entra-id. Ja
servicePrincipalCredentialType Geef het referentietype op dat moet worden gebruikt voor verificatie van de service-principal. Toegestane waarden zijn ServicePrincipalCert en ServicePrincipalKey. Nee
Voor ServicePrincipalCert
servicePrincipalEmbeddedCert Geef het base64 gecodeerde certificaat op van uw toepassing die is geregistreerd in Microsoft Entra-id en zorg ervoor dat het certificaatinhoudstype PKCS #12 is. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. U moet de machtigingsinstellingen configureren die naar dit artikel verwijzen. Nee
servicePrincipalEmbeddedCertPassword Geef het wachtwoord van uw certificaat op als uw certificaat is beveiligd met een wachtwoord. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Nee
Voor ServicePrincipalKey
servicePrincipalKey De sleutel van de toepassing. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Raadpleeg deze sectie voor meer informatie, waaronder de machtigingsinstellingen. Nee
tenantId De tenant-id waaronder uw toepassing zich bevindt. Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nr.

Notitie

Als u verificatie van de service-principalsleutel gebruikt, die is gebaseerd op Azure ACS (Access Control Services), raden we u aan over te schakelen naar de verificatie van het service-principalcertificaat vanwege het ACS-buitengebruikstellingsplan.

Voorbeeld 1: Verificatie van de service-principalsleutel gebruiken

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

Voorbeeld 2: Verificatie van service-principalcertificaat gebruiken

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

Machtiging verlenen voor het gebruik van een service-principalsleutel

De SharePoint List Online-connector maakt gebruik van verificatie van de service-principal om verbinding te maken met SharePoint. Volg deze stappen om deze in te stellen:

  1. Een toepassing registreren bij het Microsoft-identiteitsplatform. Zie quickstart: Een toepassing registreren bij het Microsoft Identity Platform voor meer informatie. Noteer deze waarden, die u gebruikt om de gekoppelde service te definiëren:

    • Toepassings-id
    • Toepassingssleutel
    • Tenant-id
  2. Verdeel de SharePoint Online-site toestemming voor uw geregistreerde toepassing door de onderstaande stappen te volgen. Hiervoor hebt u een sitebeheerderrol nodig.

    1. Open de koppeling naar uw SharePoint Online-site. Bijvoorbeeld de URL in de indeling https://<your-site-url>/_layouts/15/appinv.aspx waarin de tijdelijke aanduiding <your-site-url> uw site is.

    2. Zoek in de toepassings-id die u hebt geregistreerd, vul de lege velden in en klik op Maken.

      • App-domein: contoso.com

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

      • XML voor machtigingsaanvragen:

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

        SharePoint Online-sitemachtigingen verlenen aan uw geregistreerde toepassing wanneer u de rol van sitebeheerder hebt.

      Notitie

      In de context van het configureren van de SharePoint-connector verwijst de 'App-domein' en 'omleidings-URL' naar de SharePoint-app die u hebt geregistreerd in Microsoft Entra-id om toegang tot uw SharePoint-gegevens toe te staan. Het app-domein is het domein waar uw SharePoint-site wordt gehost. Als uw SharePoint-site zich bijvoorbeeld op 'https://contoso.sharepoint.com" bevindt, is het app-domein 'contoso.sharepoint.com'. De omleidings-URL is de URL waarnaar de SharePoint-app wordt omgeleid nadat de gebruiker is geverifieerd en machtigingen voor de app heeft verleend. Deze URL moet een pagina op uw SharePoint-site zijn waartoe de app toegang heeft. U kunt bijvoorbeeld de URL van een pagina gebruiken die een lijst met bestanden in een bibliotheek weergeeft of een pagina die de inhoud van een document weergeeft.

    3. Klik op Vertrouwen voor deze app.

Eigenschappen van gegevensset

Zie Gegevenssets en gekoppelde services voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets. De volgende sectie bevat een lijst met de eigenschappen die worden ondersteund door de SAP-tabelgegevensset.

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op SharePointOnlineLResource. Ja
listName De naam van de SharePoint Online-lijst. Houd er rekening mee dat de apostrof (') niet is toegestaan in bestandsnamen. Ja

Voorbeeld

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

Eigenschappen van kopieeractiviteit

Zie Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. De volgende sectie bevat een lijst met de eigenschappen die worden ondersteund door de SharePoint Online-lijstbron.

SharePoint Online-lijst als bron

Als u gegevens uit de SharePoint Online-lijst wilt kopiëren, worden de volgende eigenschappen ondersteund in de sectie Copy Activity Source :

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op SharePointOnlineListSource. Ja
query Aangepaste OData-queryopties voor het filteren van gegevens. Voorbeeld: "$top=10&$select=Title,Number". Nee
httpRequestTimeout De time-out (in het tweede) voor de HTTP-aanvraag om een antwoord te krijgen. De standaardwaarde is 300 (5 minuten). Nee

Voorbeeld

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

Notitie

Het is niet mogelijk om meer dan één gegevenstype voor een SharePoint Online-lijstbron te selecteren.

Toewijzing van gegevenstypen voor SharePoint Online-lijst

Wanneer u gegevens kopieert uit de SharePoint Online-lijst, worden de volgende toewijzingen gebruikt tussen sharePoint Online-lijstgegevenstypen en tussentijdse gegevenstypen die intern door de service worden gebruikt.

SharePoint Online-gegevenstype OData-gegevenstype Tussentijdse gegevenstype
Eén regel tekst Edm.String String
Meerdere tekstregels Edm.String String
Keuze (menu om uit te kiezen) Edm.String String
Getal (1, 1,0, 100) Edm.Double Dubbel
Valuta ($, ¥, €) Edm.Double Dubbel
Datum en tijd Edm.DateTime Datum en tijd
Opzoeken (informatie die al op deze site aanwezig is) Edm.Int32 Int32
Ja/Nee (selectievakje) Edm.Boolean Booleaanse waarde
Persoon of groep Edm.Int32 Int32
Hyperlink of afbeelding Edm.String String
Berekend (berekening gebaseerd op andere kolommen) Edm.String / Edm.Double / Edm.DateTime / Edm.Boolean Tekenreeks /Double/ DateTime/ Booleaanse waarde
Bijlage Niet ondersteund
Taakresultaat Niet ondersteund
Externe gegevens Niet ondersteund
Beheerde metagegevens Niet ondersteund

Bestand kopiëren vanuit SharePoint Online

U kunt een bestand vanuit SharePoint Online kopiëren met behulp van webactiviteit om het toegangstoken van SPO te verifiëren en op te halen en vervolgens door te geven aan volgende Copy-activiteit om gegevens met http-connector als bron te kopiëren.

SharePoint-bestandsstroom kopiëren

  1. Volg de sectie Machtigingen verlenen voor het gebruik van de service-principalsleutel om een Microsoft Entra-toepassing te maken en toestemming te verlenen aan SharePoint Online.

  2. Maak een webactiviteit om het toegangstoken op te halen vanuit SharePoint Online:

    • URL: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Vervang de tenant-id.
    • Methode: POST
    • Kopteksten:
      • Content-Type: application/x-www-form-urlencoded
    • Hoofdtekst: 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]. Vervang de client-id (toepassings-id), clientgeheim (toepassingssleutel), tenant-id en tenantnaam (van de SharePoint-tenant).

    Let op

    Stel de optie Beveiligde uitvoer in op true in webactiviteit om te voorkomen dat de tokenwaarde wordt vastgelegd in tekst zonder opmaak. Voor verdere activiteiten die deze waarde gebruiken, moet de optie Secure Input zijn ingesteld op true.

  3. Koppel aan een Copy-activiteit met HTTP-connector als bron om sharePoint Online-bestandsinhoud te kopiëren:

    • Gekoppelde HTTP-service:
      • Basis-URL: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Vervang de site-URL en het relatieve pad naar het bestand. Zorg ervoor dat u de URL van de SharePoint-site opneemt samen met de domeinnaam, zoals https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value.
      • Verificatietype: Anoniem (om later het Bearer-token te gebruiken dat is geconfigureerd in bron van kopieeractiviteit)
    • Gegevensset: kies de gewenste indeling. Als u het bestand als zodanig wilt kopiëren, selecteert u het type Binair.
    • Copy-activiteit bron:
      • Aanvraagmethode: GET
      • Extra header: gebruik de volgende expressie@{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, die gebruikmaakt van het Bearer-token dat is gegenereerd door de upstream-webactiviteit als autorisatieheader. Vervang de naam van de webactiviteit.
    • Configureer de sink voor de kopieeractiviteit voor elke ondersteunde sinkbestemming.

Notitie

Zelfs als een Microsoft Entra-toepassing machtigingen heeft FullControl voor SharePoint Online, kunt u geen bestanden kopiëren uit documentbibliotheken waarvoor IRM is ingeschakeld.

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Zie Ondersteunde gegevensarchieven en -indelingen voor een lijst met gegevensarchieven die door de kopieeractiviteit worden ondersteund als bronnen en sinks.