Copiare i dati da un elenco di SharePoint Online utilizzando Azure Data Factory o Azure Synapse Analytics.

APPLICABILE A: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory in Microsoft Fabric è la nuova generazione di Azure Data Factory, con un'architettura più semplice, un'intelligenza artificiale predefinita e nuove funzionalità. Se non si ha familiarità con l'integrazione dei dati, iniziare con Fabric Data Factory. I carichi di lavoro di Azure Data Factory esistenti possono eseguire l'aggiornamento a Fabric per accedere a nuove funzionalità tra data science, analisi in tempo reale e creazione di report.

Questo articolo illustra come usare l'attività di copia, Copy Activity, nelle pipeline di Azure Data Factory e Azure Synapse per copiare dati da un elenco di SharePoint Online. L'articolo è basato su Attività Copy, dove viene presentata una panoramica generale dell'attività di copia.

Funzionalità supportate

Questo connettore Elenco online di SharePoint è supportato per le seguenti funzionalità:

Funzionalità supportate IR
Attività di copia (fonte/-) (1) (2)
Attività di Ricerca (1) (2)

① Azure Integration Runtime ② Runtime di integrazione self-hosted

Per un elenco degli archivi dati supportati come origini o sink, vedere la tabella Archivi dati supportati.

In particolare, il connettore Elenco di SharePoint Online usa l'autenticazione basata su entità servizio e recupera i dati tramite il protocollo OData.

Tip

Questo connettore supporta la copia dei dati da SharePoint Online List ma non dal file. Scopri come copiare file dalla sezione Copy file from SharePoint Online.

Get started

Per eseguire l'attività Copy con una pipeline, è possibile usare uno degli strumenti o degli SDK seguenti:

Creare un servizio collegato a un elenco online di SharePoint usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a un elenco online SharePoint nell'interfaccia utente del portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro Azure Data Factory o Synapse e selezionare Servizi collegati, quindi selezionare Nuovo:

  2. Cercare SharePoint e selezionare il connettore Elenco di SharePoint Online.

    Screenshot del connettore di SharePoint Online List.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione del servizio collegato per un elenco di SharePoint Online.

Dettagli di configurazione del connettore

Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà che è possibile usare per definire entità specifiche per SharePoint connettore elenco online.

Proprietà del servizio collegato

Le seguenti proprietà sono supportate per un servizio collegato di elenco di SharePoint Online:

Property Description Required
type La proprietà type deve essere impostata su: SharePointOnlineList. Yes
siteUrl URL del sito online SharePoint, ad esempio, https://contoso.sharepoint.com/sites/siteName. Yes
servicePrincipalId ID applicazione (client) dell'applicazione registrata in Microsoft Entra ID. Yes
servicePrincipalCredentialType Specificare il tipo di credenziale da usare per l'autenticazione dell'entità servizio. I valori consentiti sono ServicePrincipalCert e ServicePrincipalKey. No
Per ServicePrincipalCert
servicePrincipalEmbeddedCert Specificare il certificato con codifica Base64 dell'applicazione registrata in Microsoft Entra ID e assicurarsi che il tipo di contenuto del certificato sia PKCS #12. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o referenziare un segreto archiviato in Azure Key Vault. È necessario configurare le impostazioni di autorizzazione che fanno riferimento a questo articolo. No
servicePrincipalEmbeddedCertPassword Specificare la password del certificato se il certificato è protetto con una password. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o referenziare un segreto archiviato in Azure Key Vault. No
Per ServicePrincipalKey
servicePrincipalKey Chiave dell'applicazione. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o referenziare un segreto archiviato in Azure Key Vault. Per altri dettagli, vedere questa sezione, incluse le impostazioni di autorizzazione. No
tenantId ID del tenant in cui risiede l'applicazione. Yes
connectVia Integration Runtime da usare per connettersi all'archivio dati. Se non specificato, viene utilizzato il Azure Integration Runtime predefinito. No

Note

Se si usa l'autenticazione con chiave dell'entità servizio, che si basa su ACS di Azure (Servizi di Controllo di accesso), è consigliabile passare all'autenticazione con certificato dell'entità servizio a causa del piano di ritiro di ACS.

Esempio 1: Uso dell'autenticazione con la chiave dell'entità servizio

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

Esempio 2: Uso dell'autenticazione con il certificato dell'entità servizio

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

Concedere l'autorizzazione per l'uso della chiave dell'entità servizio

Il connettore di SharePoint List Online utilizza l'autenticazione del principale servizio per connettersi a SharePoint. Seguire questi passaggi per configurarlo:

  1. Registrare un'applicazione con il Microsoft identity platform. Per informazioni su come, vedere Quickstart: Registrare un'applicazione con il Microsoft identity platform. Prendere nota di questi valori che si usano per definire il servizio collegato:

    • ID dell'applicazione
    • Chiave applicazione
    • ID del locatario
  2. Concedere permessi al sito SharePoint Online alla tua applicazione registrata seguendo questi passaggi. A tale scopo, è necessario un ruolo di amministratore del sito.

    1. Apri il link del sito SharePoint Online. Ad esempio, l'URL nel formato https://<your-site-url>/_layouts/15/appinv.aspx in cui il segnaposto <your-site-url> è il sito.

    2. Cercare l'ID applicazione registrato, compilare i campi vuoti e selezionare "Crea".

      • Dominio applicazione: contoso.com

      • URL di reindirizzamento: https://www.contoso.com

      • XML richiesta autorizzazione:

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

        Quando si dispone del ruolo di amministratore del sito, concedere le autorizzazioni del sito di SharePoint Online alla tua applicazione registrata.

      Note

      Nel contesto della configurazione del connettore SharePoint, il "Dominio app" e "URL di reindirizzamento" fanno riferimento all'app SharePoint registrata in Microsoft Entra ID per consentire l'accesso ai dati SharePoint. Il "Dominio app" è il dominio in cui è ospitato il sito SharePoint. Ad esempio, se il sito SharePoint si trova in "https://contoso.sharepoint.com", il "Dominio app" sarà "contoso.sharepoint. com". L'URL di reindirizzamento è l'URL a cui verrà reindirizzata l'app SharePoint dopo che l'utente ha autenticato e concesso le autorizzazioni all'app. Questo URL deve essere una pagina nel sito SharePoint a cui l'app ha l'autorizzazione per accedere. Ad esempio, è possibile usare l'URL di una pagina che visualizza un elenco di file in una raccolta o una pagina che visualizza il contenuto di un documento.

    3. Selezionare "Considera attendibile" per questa app.

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere Set di dati e servizi collegati. La sezione seguente presenta un elenco delle proprietà supportate dal set di dati della tabella SAP.

Property Description Required
type La proprietà type del set di dati deve essere impostata su SharePointOnlineLResource. Yes
listName Nome dell'elenco SharePoint online. L'apostrofo (') non è consentito nei nomi di file. Yes

Example

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

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere Pipeline. Nella sezione seguente viene fornito un elenco delle proprietà supportate dall'origine Elenco di SharePoint Online.

Elenco di SharePoint Online come origine

Per copiare dati da SharePoint Elenco online, nella sezione Attività di copia source sono supportate le proprietà seguenti:

Property Description Required
type La proprietà type dell'origine dell'attività di copia deve essere impostata su SharePointOnlineListSource. Yes
query Opzioni di query OData personalizzate per filtrare i dati. Esempio: "$top=10&$select=Title,Number". No
httpRequestTimeout Il timeout (in secondi) durante il quale la richiesta HTTP attende una risposta. Il valore predefinito è 300 (5 minuti). No

Example

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

Note

Non è possibile selezionare più di un tipo di dati scelta per un'origine Elenco di SharePoint Online.

Mapping dei tipi di dati per Elenco di SharePoint Online

Quando si copiano dati da SharePoint Online List, vengono usati i seguenti mapping tra i tipi di dati di SharePoint Online List e i tipi di dati provvisori usati internamente dal servizio.

Tipo di dati di SharePoint Online Tipo di dati di OData Tipo di dati provvisorio
Riga di testo singola Edm.String String
Più righe di testo Edm.String String
Scelta (menu da cui scegliere) Edm.String String
Numero (1, 1.0, 100) Edm.Double Double
Valuta ($, ¥, €) Edm.Double Double
Data e ora Edm.DateTime DateTime
Ricerca (informazioni già presenti nel sito) Edm.Int32 Int32
Sì/No (casella di controllo) Edm.Boolean Boolean
Persona o gruppo Edm.Int32 Int32
Collegamento ipertestuale o immagine Edm.String String
Calcolato (calcolo basato su altre colonne) Edm.String / Edm.Double / Edm.DateTime / Edm.Boolean String/Double/DateTime/Boolean
Attachment Non supportato
Risultato attività Non supportato
Dati esterni Non supportato
Metadati gestiti Non supportato

Copiare il file da SharePoint Online

È possibile copiare il file da SharePoint Online usando AttivitàWeb per autenticare e acquisire il token di accesso da SPO, quindi passare alla successiva Copy activity per copiare i dati con HTTP Connector come origine.

flusso file copia sharepoint

  1. Seguire la sezione Concedere l'autorizzazione per l'uso della chiave dell'entità servizio per creare l'applicazione Microsoft Entra e concedere l'autorizzazione a SharePoint Online.

  2. Creare un Web Activity per ottenere il token di accesso da SharePoint Online:

    • URL: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Sostituire l'ID tenant.
    • Metodo: POST
    • Headers:
      • Tipo di contenuto: application/x-www-form-urlencoded
    • Corpo: 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]. Sostituire l'ID client (ID applicazione), il segreto client (chiave dell'applicazione), l'ID tenant e il nome del tenant di SharePoint.

    Caution

    Impostare l'opzione Output sicuro su true nell'attività Web per impedire che il valore del token venga registrato come testo normale. In qualsiasi ulteriore attività in cui viene usato questo valore, l'opzione Input sicuro deve essere impostata su true.

  3. Catena con un'attività di copia con connettore HTTP come origine per copiare il contenuto dei file di SharePoint Online:

    • Servizio collegato HTTP:
      • URL di base: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Sostituire l'URL del sito e il percorso relativo del file. Assicurarsi di includere l'URL del sito SharePoint insieme al nome di dominio, ad esempio https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value.
      • Tipo di autenticazione: Anonimo (per usare il token di connessione configurato nell'origine dell'attività di copia in un secondo momento)
    • Set di dati: scegliere il formato desiderato. Per copiare il file così com'è, selezionare il tipo "Binary".
    • origine dell'attività di copia:
      • Metodo di richiesta: GET
      • Intestazione aggiuntiva: usare l'espressione seguente @{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, che impiega il token di connessione generato dall'attività Web upstream come intestazione di autorizzazione. Sostituire il nome dell'attività Web.
    • Configurare il sink dell'attività di copia per qualsiasi destinazione sink supportata.

Note

Anche se un'applicazione Microsoft Entra dispone di autorizzazioni FullControl per SharePoint Online, non è possibile copiare file da raccolte documenti con IRM abilitato.

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Per un elenco degli archivi dati supportati dall'attività di copia come origini e sink, vedere Archivi dati e formati supportati.