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:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
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.
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:
Sök efter SharePoint och välj anslutningsappen för SharePoint Online-lista.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
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:
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
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.
Ö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.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>
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.
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.
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.
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.
- URL:
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 exempelhttps://[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)
- Bas-URL:
- 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.
- HTTP-länkad tjänst:
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.
Relaterat innehåll
En lista över datalager som kopieringsaktivitet stöder som källor och mottagare finns i Datalager och format som stöds.