Copiare e trasformare i dati da Microsoft 365 (Office 365) in Azure usando Azure Data Factory o Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Le pipeline di Azure Data Factory e Synapse Analytics si integrano con la connessione dati di Microsoft Graph, consentendo di trasferire i dati aziendali avanzati nel tenant di Microsoft 365 (Office 365) in Azure in modo scalabile e creare applicazioni di analisi ed estrarre informazioni dettagliate basate su questi asset di dati importanti. L'integrazione con Privileged Access Management fornisce il controllo di accesso protetto per i dati curati preziosi in Microsoft 365 (Office 365). Per una panoramica della connessione dati di Microsoft Graph, vedere questo collegamento .

Questo articolo illustra come usare l'attività di copia per copiare dati e Flusso di dati per trasformare i dati da Microsoft 365 (Office 365). Per un'introduzione alla copia dei dati, leggere la panoramica dell'attività di copia. Per un'introduzione alla trasformazione dei dati, leggere panoramica del flusso di dati di mapping.

Nota

Il connettore microsoft 365 Flusso di dati è attualmente in anteprima. Per partecipare, usare questo modulo di iscrizione: M365 + Analytics Preview.

Funzionalità supportate

Questo connettore Di Microsoft 365 (Office 365) è supportato per le funzionalità seguenti:

Funzionalità supportate IR
attività Copy (source/-)
Flusso di dati di mapping (origine/-)

(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted

Il connettore ADF Microsoft 365 (Office 365) e Microsoft Graph Data Connessione consente l'inserimento su larga scala di diversi tipi di set di dati dalle cassette postali abilitate alla posta elettronica di Exchange, inclusi contatti della rubrica, eventi del calendario, messaggi di posta elettronica, informazioni utente, impostazioni della cassetta postale e così via. Fare riferimento qui per visualizzare l'elenco completo dei set di dati disponibili.

Per il momento, all'interno di un'unica attività di copia e flusso di dati, è possibile inserire dati da Microsoft 365 (Office 365) in Archiviazione BLOB di Azure, Azure Data Lake Archiviazione Gen1 e Azure Data Lake Archiviazione Gen2 in formato JSON (tipo setOfObjects). Quando si esegue la copia in Archiviazione BLOB di Azure, l'output è un BLOB contenente testo JSON. Se si desidera caricare Microsoft 365 (Office 365) in altri tipi di archivi dati o in altri formati, è possibile concatenare la prima attività di copia o il flusso di dati con un'attività successiva per caricare ulteriormente i dati in uno degli archivi di destinazione di Azure Data Factory supportati (fare riferimento alla colonna "supportato come sink" nella tabella "Archivi dati e formati supportati").

Importante

  • La sottoscrizione di Azure contenente la data factory o l'area di lavoro di Synapse e l'archivio dati sink devono trovarsi nello stesso tenant di Microsoft Entra del tenant di Microsoft 365 (Office 365).
  • Assicurarsi che l'area del runtime di integrazione di Azure usata per l'attività di copia e la destinazione si trovi nella stessa area in cui si trova la cassetta postale degli utenti tenant di Microsoft 365 (Office 365). Per informazioni sulla modalità in cui viene determinata la posizione di Azure IR, vedere questo articolo. Per un elenco delle aree di Office e delle corrispondenti aree di Azure supportate, fare riferimento a questa tabella.
  • L'autenticazione dell'entità servizio è l'unico meccanismo di autenticazione supportato per Archiviazione BLOB di Azure, Azure Data Lake Archiviazione Gen1 e Azure Data Lake Archiviazione Gen2 come archivi di destinazione.

Nota

Usare il runtime di integrazione di Azure nei servizi collegati di origine e sink. Il runtime di integrazione self-hosted e il runtime di integrazione della rete virtuale gestita non sono supportati.

Prerequisiti

Per copiare e trasformare i dati da Microsoft 365 (Office 365) in Azure, è necessario completare i passaggi prerequisiti seguenti:

  • L'amministratore tenant di Microsoft 365 (Office 365) deve completare le azioni di onboarding come descritto qui.
  • Creare e configurare un'applicazione Web Microsoft Entra in Microsoft Entra ID. Per istruzioni, vedere Creare un'applicazione Microsoft Entra.
  • Prendere nota dei valori seguenti, che verranno usati per definire il servizio collegato per Microsoft 365 (Office 365):
  • Aggiungere l'identità utente che eseguirà la richiesta di accesso ai dati come proprietario dell'applicazione Web Microsoft Entra (dall'applicazione > Web Entra Microsoft Impostazioni > Proprietari > aggiungi proprietario).
    • L'identità utente deve trovarsi nell'organizzazione di Microsoft 365 (Office 365) da cui si ricevono i dati e non deve essere un utente guest.

Approvazione di nuove richieste di accesso ai dati

Se questa è la prima volta che si richiedono dati per questo contesto (una combinazione della tabella dati a cui si accede, quale account di destinazione è i dati caricati e in quale identità utente effettua la richiesta di accesso ai dati), verrà visualizzato lo stato dell'attività di copia come "In corso" e solo quando si fa clic sul collegamento "Dettagli" in Azioni verrà visualizzato lo stato "RequestingConsent". Un membro del gruppo dei responsabili dell'approvazione dell'accesso ai dati deve approvare la richiesta in Privileged Access Management prima che l'estrazione dei dati prosegua.

Per informazioni sul modo in cui il responsabile dell'approvazione può approvare la richiesta di accesso ai dati, vedere questo articolo. Per una spiegazione sull'integrazione generale con Privileged Access Management, incluse informazioni su come configurare il gruppo di responsabili dell'approvazione all'accesso ai dati, vedere questo articolo.

Introduzione

Suggerimento

Per una procedura dettagliata sull'uso del connettore Microsoft 365 (Office 365), vedere l'articolo Caricare dati da Microsoft 365 (Office 365).

È possibile creare una pipeline con l'attività di copia e il flusso di dati usando uno degli strumenti o gli SDK seguenti. Selezionare un collegamento per passare a un'esercitazione con istruzioni dettagliate per creare una pipeline con un'attività di copia.

Creare un servizio collegato a Microsoft 365 (Office 365) usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato a Microsoft 365 (Office 365) nell'interfaccia utente di portale di Azure.

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

  2. Cercare Microsoft 365 (Office 365) e selezionare il connettore Microsoft 365 (Office 365).

    Screenshot of the Microsoft 365 (Office 365) connector.

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

    Screenshot of linked service configuration for Microsoft 365 (Office 365).

Dettagli di configurazione di Connessione or

Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà usate per definire entità di Data Factory specifiche del connettore Microsoft 365 (Office 365).

Proprietà del servizio collegato

Per il servizio collegato di Microsoft 365 (Office 365) sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type deve essere impostata su: Office 365
office365TenantId ID tenant di Azure a cui appartiene l'account Microsoft 365 (Office 365).
servicePrincipalTenantId Specificare le informazioni sul tenant in cui risiede l'applicazione Web Microsoft Entra.
servicePrincipalId Specificare l'ID client dell'applicazione.
servicePrincipalKey Specificare la chiave dell'applicazione. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro.
connectVia Runtime di integrazione da usare per la connessione all'archivio dati. Se non specificato, viene usato il runtime di integrazione di Azure predefinito. No

Nota

Differenza tra office365TenantId e servicePrincipalTenantId e il valore corrispondente da specificare:

  • Se si è uno sviluppatore aziendale che sviluppa un'applicazione rispetto ai dati di Microsoft 365 (Office 365) per l'utilizzo della propria organizzazione, è necessario specificare lo stesso ID tenant per entrambe le proprietà, ovvero l'ID tenant di Microsoft Entra dell'organizzazione.
  • Se si è uno sviluppatore ISV che sviluppa un'applicazione per i clienti, office365TenantId sarà l'ID tenant di Microsoft Entra del cliente e servicePrincipalTenantId sarà l'ID tenant di Microsoft Entra dell'azienda.

Esempio:

{
    "name": "Office365LinkedService",
    "properties": {
        "type": "Office365",
        "typeProperties": {
            "office365TenantId": "<Microsoft 365 (Office 365) tenant id>",
            "servicePrincipalTenantId": "<AAD app service principal tenant id>",
            "servicePrincipalId": "<AAD app service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<AAD app service principal key>"
            }
        }
    }
}

Proprietà del set di dati

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione di set di dati, vedere l'articolo sui set di dati. Questa sezione fornisce un elenco delle proprietà supportate dal set di dati di Microsoft 365 (Office 365).

Per copiare dati da Microsoft 365 (Office 365), sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type del set di dati deve essere impostata su: Office365Table
tableName Nome del set di dati da estrarre da Microsoft 365 (Office 365). Fare riferimento qui per l'elenco dei set di dati di Microsoft 365 (Office 365) disponibili per l'estrazione.

Se si impostano dateFilterColumn, startTime, endTimee userScopeFilterUri nel set di dati, è ancora supportato così come è, mentre si consiglia di usare il nuovo modello nell'origine attività in futuro.

Esempio

{
    "name": "DS_May2019_O365_Message",
    "properties": {
        "type": "Office365Table",
        "linkedServiceName": {
            "referenceName": "<Microsoft 365 (Office 365) linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "tableName": "BasicDataSet_v0.Event_v1"
        }
    }
}

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione fornisce un elenco delle proprietà supportate dall'origine di Microsoft 365 (Office 365).

Microsoft 365 (Office 365) come origine

Per copiare dati da Microsoft 365 (Office 365), nella sezione origine dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
Tipo La proprietà type dell'origine dell'attività di copia deve essere impostata su: Office365Source
allowedGroups Predicato di selezione del gruppo. Utilizzare questa proprietà per selezionare fino a 10 gruppi di utenti per i quali verranno recuperati i dati. Se non vengono specificati gruppi, i dati verranno restituiti per l'intera organizzazione. No
userScopeFilterUri Quando allowedGroups la proprietà non è specificata, è possibile usare un'espressione di predicato applicata all'intero tenant per filtrare le righe specifiche da estrarre da Microsoft 365 (Office 365). Il formato del predicato deve corrispondere al formato di query delle API Microsoft Graph, ad esempio https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance'. No
dateFilterColumn Nome della colonna del filtro DateTime. Utilizzare questa proprietà per limitare l'intervallo di tempo per il quale vengono estratti i dati di Microsoft 365 (Office 365). Sì se il set di dati contiene una o più colonne DateTime. Fare riferimento qui per un elenco di set di dati che richiedono questo filtro DateTime.
startTime Valore DateTime iniziale da filtrare. Sì se dateFilterColumn è specificato
endTime Valore DateTime di fine su cui filtrare. Sì se dateFilterColumn è specificato
outputColumns Matrice delle colonne da copiare nel sink. No

Esempio:

"activities": [
    {
        "name": "CopyFromO365ToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft 365 (Office 365) input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "Office365Source",
                "dateFilterColumn": "CreatedDateTime",
                "startTime": "2019-04-28T16:00:00.000Z",
                "endTime": "2019-05-05T16:00:00.000Z",
                "userScopeFilterUri": "https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance'",
                "outputColumns": [
                    {
                        "name": "Id"
                    },
                    {
                        "name": "CreatedDateTime"
                    },
                    {
                        "name": "LastModifiedDateTime"
                    },
                    {
                        "name": "ChangeKey"
                    },
                    {
                        "name": "Categories"
                    },
                    {
                        "name": "OriginalStartTimeZone"
                    },
                    {
                        "name": "OriginalEndTimeZone"
                    },
                    {
                        "name": "ResponseStatus"
                    },
                    {
                        "name": "iCalUId"
                    },
                    {
                        "name": "ReminderMinutesBeforeStart"
                    },
                    {
                        "name": "IsReminderOn"
                    },
                    {
                        "name": "HasAttachments"
                    },
                    {
                        "name": "Subject"
                    },
                    {
                        "name": "Body"
                    },
                    {
                        "name": "Importance"
                    },
                    {
                        "name": "Sensitivity"
                    },
                    {
                        "name": "Start"
                    },
                    {
                        "name": "End"
                    },
                    {
                        "name": "Location"
                    },
                    {
                        "name": "IsAllDay"
                    },
                    {
                        "name": "IsCancelled"
                    },
                    {
                        "name": "IsOrganizer"
                    },
                    {
                        "name": "Recurrence"
                    },
                    {
                        "name": "ResponseRequested"
                    },
                    {
                        "name": "ShowAs"
                    },
                    {
                        "name": "Type"
                    },
                    {
                        "name": "Attendees"
                    },
                    {
                        "name": "Organizer"
                    },
                    {
                        "name": "WebLink"
                    },
                    {
                        "name": "Attachments"
                    },
                    {
                        "name": "BodyPreview"
                    },
                    {
                        "name": "Locations"
                    },
                    {
                        "name": "OnlineMeetingUrl"
                    },
                    {
                        "name": "OriginalStart"
                    },
                    {
                        "name": "SeriesMasterId"
                    }
                ]
            },
            "sink": {
                "type": "BlobSink"
            }
        }
    }
]

Trasformare i dati con il connettore Microsoft 365

I set di dati di Microsoft 365 possono essere usati come origine con flussi di dati di mapping. Il flusso di dati trasformerà i dati appiattindo automaticamente il set di dati. Ciò consente agli utenti di concentrarsi sull'uso del set di dati bidimensionale per accelerare gli scenari di analisi.

Proprietà del flusso di dati per mapping

Per creare un flusso di dati di mapping usando il connettore Microsoft 365 come origine, completare la procedura seguente:

  1. In ADF Studio passare alla sezione Flussi di dati dell'hub Autore, selezionare il pulsante ... per visualizzare il menu Azioni flusso di dati e selezionare l'elemento Nuovo flusso di dati. Attivare la modalità di debug usando il pulsante Debug flusso di dati nella barra superiore dell'area di disegno del flusso di dati.

    Screenshot of the data flow debug button in mapping data flow.

  2. Nell'editor del flusso di dati di mapping selezionare Aggiungi origine.

    Screenshot of add source in mapping data flow.

  3. Nella scheda Impostazioni origine selezionare Inline nella proprietà Tipo di origine , Microsoft 365 (Office 365) nel tipo di set di dati Inline e nel servizio collegato Microsoft 365 creato in precedenza.

    Screenshot of the select dataset option in source settings of mapping data flow source.

  4. Nella scheda Opzioni origine selezionare il nome tabella della tabella di Microsoft 365 che si desidera trasformare. Selezionare anche l'opzione Flatten automatico per decidere se si vuole rendere flat automaticamente il set di dati di origine.

    Screenshot of the source options of mapping data flow source.

  5. Per le schede Proiezione, Ottimizzazione e Ispezione, seguire il flusso di dati di mapping.

  6. Nella scheda Anteprima dati fare clic sul pulsante Aggiorna per recuperare un set di dati di esempio per la convalida.

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