Copiare dati da Elenco di SharePoint Online usando Azure Data Factory o Azure Synapse Analytics
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo descrive come usare l'attività di copia in Azure Data Factory e nelle pipeline di Azure Synapse per copiare dati da Elenco di SharePoint Online. L'articolo è basato su Attività Copy, dove viene presentata una panoramica generale dell'attività di copia.
Funzionalità supportate
Il connettore Elenco di SharePoint Online è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
Attività Copy (origine/-) | ① ② |
Attività Lookup | ① ② |
① 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.
Suggerimento
Questo connettore supporta la copia di dati da Elenco di SharePoint Online ma non da un file. Informazioni su come copiare file dalla sezione Copiare file da SharePoint Online.
Operazioni preliminari
Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- SDK di Python
- Azure PowerShell
- API REST
- Modello di Azure Resource Manager
Creare un servizio collegato a un elenco di SharePoint Online tramite l'interfaccia utente
Usare la procedura seguente per creare un servizio collegato a un elenco di SharePoint Online nell'interfaccia utente del portale di Azure.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:
Cercare SharePoint e selezionare il connettore elenco di SharePoint Online.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione del connettore
Le sezioni seguenti offrono informazioni dettagliate sulle proprietà che è possibile usare per definire entità specifiche del connettore Elenco di SharePoint Online.
Proprietà del servizio collegato
Per il servizio collegato Elenco di SharePoint Online sono supportate le proprietà seguenti:
Proprietà | Descrizione | Obbligatorio |
---|---|---|
type | La proprietà type deve essere impostata su: SharePointOnlineList. | Sì |
siteUrl | URL del sito di SharePoint Online, ad esempio https://contoso.sharepoint.com/sites/siteName . |
Sì |
servicePrincipalId | ID applicazione (client) dell'applicazione registrata in Microsoft Entra ID. | Sì |
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 oppure fare riferimento a 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 oppure fare riferimento a un segreto archiviato in Azure Key Vault. | No |
Per ServicePrincipalKey | ||
servicePrincipalKey | Chiave dell'applicazione. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a 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. | Sì |
connectVia | Runtime di integrazione da usare per la connessione all'archivio dati. Se questa proprietà non è specificata, viene usato il tipo Azure Integration Runtime predefinito. | No |
Nota
Se si usa l'autenticazione della chiave dell'entità servizio, basata su Azure ACS (Access Control Services), è consigliabile passare all'autenticazione del certificato dell'entità servizio a causa del piano di ritiro ACS.
Esempio 1: Uso dell'autenticazione con 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: usare l'autenticazione con 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 Elenco di SharePoint Online usa l'autenticazione basata su entità servizio per connettersi a SharePoint. Seguire questi passaggi per configurarlo:
Registrare un'applicazione con Microsoft Identity Platform. Per informazioni sulla procedura, vedere Avvio rapido: Registrare un'applicazione in Microsoft Identity Platform. Prendere nota di questi valori che si usano per definire il servizio collegato:
- ID applicazione
- Chiave applicazione
- ID tenant
Concedere all'applicazione registrata l'autorizzazione a livello di sito per SharePoint Online seguendo questa procedura. A tale scopo, è necessario un ruolo di amministratore del sito.
Aprire il collegamento al sito di 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.Cercare l'ID applicazione registrato, compilare i campi vuoti e fare clic su "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>
Nota
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 di SharePoint. "Dominio app" è il dominio in cui è ospitato il sito di SharePoint. Ad esempio, se il sito di 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 di SharePoint a cui l'app dispone dell'autorizzazione per l'accesso. 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.
Fare clic su "Attendibile" per l'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.
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type del set di dati deve essere impostata su SharePointOnlineLResource. | Sì |
listName | Nome di Elenco di SharePoint Online. Si noti che l'apostrofo (') non è consentito nei nomi di file. | Sì |
Esempio
{
"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 i dati da Elenco di SharePoint Online, nella sezione source dell'attività di copia sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type dell'origine dell'attività di copia deve essere impostata su SharePointOnlineListSource. | Sì |
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 |
Esempio
"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>"
}
}
}
]
Nota
Non è possibile selezionare più di una scelta tipo di dati per un'origine elenco di SharePoint Online.
Mapping dei tipi di dati per Elenco di SharePoint Online
Quando si copiano dati da Elenco di SharePoint Online, vengono usati i mapping seguenti tra i tipi di dati di Elenco di SharePoint Online 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 | Data/Ora |
Ricerca (informazioni già presenti nel sito) | Edm.Int32 | Int32 |
Sì/No (casella di controllo) | Edm.Boolean | Booleano |
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 |
Copia file da SharePoint Online
È possibile copiare i file da SharePoint Online usando attività Web per autenticare e recuperare il token di accesso da SharePoint Online, quindi passare alla successiva attività di copia per copiare i dati con connettore HTTP come origine.
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.
Creare un'attività Web 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
- Intestazioni:
- Content-Type: 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 (del tenant di SharePoint).
Attenzione
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.
- URL:
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 di SharePoint insieme al nome di dominio, ad esempiohttps://[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)
- URL di base:
- 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.
- Servizio collegato HTTP:
Nota
Anche se un'applicazione Microsoft Entra ha FullControl
autorizzazioni 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.
Contenuto correlato
Per un elenco degli archivi dati supportati dall'attività di copia come origini e sink, vedere Archivi dati e formati supportati.