Copia de Microsoft 365 (Office 365) en Azure con Azure Data Factory o Synapse Analytics
SE APLICA A: Azure Data Factory Azure Synapse Analytics
Sugerencia
Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.
Las canalizaciones de Azure Data Factory y Synapse Analytics se integran con Microsoft Graph data connect, lo que permite incluir los datos importantes de la organización en el inquilino de Microsoft 365 (Office 365) en Azure de una manera escalable, además de crear aplicaciones de análisis y de extraer información en función de estos importantes recursos de datos. La integración con Privileged Access Management proporciona control de acceso seguro para los datos protegidos valiosos en Microsoft 365 (Office 365). Consulte este vínculo para obtener información general sobre Microsoft Graph data connect.
En este artículo se describe cómo usar la actividad de copia para copiar datos y el flujo de datos para transformar datos de Microsoft 365 (Office 365). Para obtener una introducción a los datos de copia, lea la introducción a la actividad de copia. Para obtener una introducción a la transformación de datos, consulte la introducción al flujo de datos de asignación.
Nota:
El conector de flujo de datos de Microsoft 365 se encuentra actualmente en versión preliminar. Para participar, use este formulario de registro: M365 y Versión preliminar de Analytics.
Funcionalidades admitidas
Este conector de Microsoft 365 (Office 365) es compatible con las funcionalidades siguientes:
Funcionalidades admitidas | IR |
---|---|
Actividad de copia (origen/-) | ① |
Flujo de datos de asignación (origen/-) | ① |
① Azure Integration Runtime ② Entorno de ejecución de integración autohospedado
El conector ADF de Microsoft 365 (Office 365) y Microsoft Graph Data Connect permiten la ingesta a escala de diferentes tipos de conjuntos de datos desde buzones habilitados para correo electrónico de Exchange, incluidos los contactos de la libreta de direcciones, los eventos de calendario, los mensajes de correo electrónico, la información de usuario, la configuración de los buzones, etc. Consulte aquí una lista completa de los conjuntos de datos disponibles.
Por ahora, en una única actividad de copia y flujo de datos, solo puede ingerir datos de Microsoft 365 (Office 365) en Azure Blob Storage, Azure Data Lake Storage Gen1 y Azure Data Lake Storage Gen2 en formato JSON (tipo setOfObjects). Al copiar en Azure Blob Storage, la salida es un blob que contiene texto JSON. Si desea cargar Microsoft 365 (Office 365) en otros tipos de almacenes de datos o en otros formatos, puede encadenar la primera actividad de copia con una actividad de copia posterior para cargar más datos en cualquiera de los almacenes de destino de ADF admitidos; consulte la columna "Se admite como receptor" de la tabla "Almacenes de datos y formatos que se admiten".
Importante
- La suscripción de Azure que contiene la factoría de datos o el área de trabajo de Synapse y el almacén de datos del receptor debe estar en el mismo inquilino de Azure Active Directory (Azure AD) que Microsoft 365 (Office 365).
- Asegúrese de que la región de Azure Integration Runtime utilizada para la actividad de copia y el destino están en la misma región donde se encuentra el buzón de los usuarios del inquilino de Microsoft 365 (Office 365). Haga clic aquí para obtener información sobre cómo se determina la ubicación de Azure IR. Consulte la tabla aquí para obtener la lista de las regiones admitidas de Office y las regiones de Azure correspondientes.
- La autenticación de la entidad de servicio es el único mecanismo de autenticación admitido para Azure Blob Storage, Azure Data Lake Storage Gen1 y Azure Data Lake Storage Gen2 como almacenes de destino.
Nota:
Use Azure Integration Runtime en los servicios vinculados de origen y receptor. No se admiten el entorno de ejecución de integración autohospedado ni el entorno de ejecución de integración de red virtual administrada.
Prerrequisitos
Para copiar y transformar datos de Microsoft 365 (Office 365) en Azure, debe completar los siguientes pasos de requisitos previos:
- El administrador de inquilinos de Microsoft 365 (Office 365) debe completar las acciones de incorporación como se describe aquí.
- Cree y configure una aplicación web de Microsoft Entra en Microsoft Entra ID. Para obtener instrucciones, consulte Creación de una aplicación de Microsoft Entra.
- Anote los siguientes valores, que se usan para definir el servicio vinculado para Microsoft 365 (Office 365):
- Identificador de inquilino. Para obtener instrucciones, vea Obtención del identificador de inquilino.
- Identificador de aplicación y clave de aplicación. Para obtener instrucciones, vea Obtención del id. y la clave de autenticación de la aplicación.
- Agregue la identidad de usuario que realiza la solicitud de acceso a datos como propietario de la aplicación web Microsoft Entra (desde la aplicación web de Microsoft Entra > Configuración > Propietarios > Agregar propietario).
- La identidad de usuario debe estar en la organización de Microsoft 365 (Office 365) de la que obtiene datos y no debe ser un usuario invitado.
Aprobar nuevas solicitudes de acceso a los datos
Si es la primera vez que solicita datos para este contexto (una combinación de los datos de tabla a los que se accede, la cuenta de destino en la que se cargan los datos y la identidad de usuario que realiza la solicitud de acceso a los datos), verá el estado de la actividad de copia como "En curso", y solo al hacer clic en el vínculo "Detalles" en Acciones, verá el estado como "RequestingConsent". Un miembro del grupo de aprobadores de acceso a datos debe aprobar la solicitud en Privileged Access Management antes de pasar a la extracción de datos.
Consulte aquí cómo el aprobador puede aprobar la solicitud de acceso a los datos.
Introducción
Sugerencia
Para ver un tutorial sobre el uso del conector de Microsoft 365 (Office 365), consulte el artículo Carga de datos de Microsoft 365 (Office 365).
Puede crear una canalización con la actividad de copia y el flujo de datos mediante una de las siguientes herramientas o SDK. Seleccione un vínculo para acceder a un tutorial con instrucciones detalladas sobre cómo crear una canalización con una actividad de copia.
- Azure Portal
- SDK de .NET
- SDK de Python
- Azure PowerShell
- REST API
- Plantilla de Azure Resource Manager
Creación de un servicio vinculado a Microsoft 365 (Office 365) mediante la interfaz de usuario
Siga estos pasos para crear un servicio vinculado a Microsoft 365 (Office 365) en la interfaz de usuario de Azure Portal.
Vaya a la pestaña Administrar del área de trabajo de Azure Data Factory o Synapse y seleccione Servicios vinculados; luego haga clic en Nuevo:
Busque Microsoft 365 (Office 365) y seleccione el conector de Microsoft 365 (Office 365).
Configure los detalles del servicio, pruebe la conexión y cree el nuevo servicio vinculado.
Detalles de configuración del conector
En las secciones siguientes se proporcionan detalles sobre las propiedades que se usan para definir entidades de Data Factory específicas para el conector de Microsoft 365 (Office 365).
Propiedades del servicio vinculado
Las siguientes propiedades son compatibles con el servicio vinculado de Microsoft 365 (Office 365):
Propiedad | Descripción | Obligatorio |
---|---|---|
type | La propiedad type debe establecerse en: Office365 | Sí |
office365TenantId | Id. de inquilino de Azure al que pertenece la cuenta de Microsoft 365 (Office 365). | Sí |
servicePrincipalTenantId | Especifique la información del inquilino en el que reside la aplicación web de Microsoft Entra. | Sí |
servicePrincipalId | Especifique el id. de cliente de la aplicación. | Sí |
servicePrincipalKey | Especifique la clave de la aplicación. Marque este campo como SecureString para almacenarlo de forma segura. | Sí |
connectVia | El entorno de ejecución de integración que se usará para conectarse al almacén de datos. Si no se especifica, se usará Azure Integration Runtime. | No |
Nota
La diferencia entre office365TenantId y servicePrincipalTenantId y el valor correspondiente que se debe proporcionar:
- Si es un desarrollador empresarial que va a desarrollar una aplicación con los datos de Microsoft 365 (Office 365) para usarla en su organización, debe proporcionar el mismo identificador de inquilino para ambas propiedades, que es el identificador de inquilino de Microsoft Entra de su organización.
- Si es un ISV que va a desarrollar una aplicación para los clientes, office365TenantId será el identificador de inquilino de Microsoft Entra (instalador de la aplicación) del cliente y servicePrincipalTenantId será el identificador de inquilino de Microsoft Entra de la empresa.
Ejemplo:
{
"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>"
}
}
}
}
Propiedades del conjunto de datos
Si desea ver una lista completa de las secciones y propiedades disponibles para definir conjuntos de datos, consulte el artículo sobre conjuntos de datos. En esta sección se proporciona una lista de las propiedades que admite el conjunto de datos de Microsoft 365 (Office 365).
Para copiar datos de Microsoft 365 (Office 365), se admiten las siguientes propiedades:
Propiedad | Descripción | Obligatorio |
---|---|---|
type | La propiedad type del conjunto de datos debe establecerse en: Office365Table | Sí |
tableName | Nombre del conjunto de datos para extraer de Microsoft 365 (Office 365). Haga clic aquí para obtener la lista de conjuntos de datos de Microsoft 365 (Office 365) disponibles para la extracción. | Sí |
Si estaba configurando dateFilterColumn
, startTime
, endTime
y userScopeFilterUri
en el conjunto de datos, todavía se admite tal cual, aunque se aconseja usar en el futuro el nuevo modelo del origen de la actividad.
Ejemplo
{
"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"
}
}
}
Propiedades de la actividad de copia
Si desea ver una lista completa de las secciones y propiedades disponibles para definir actividades, consulte el artículo sobre canalizaciones. En esta sección se proporciona una lista de las propiedades que admite el origen de Microsoft 365 (Office 365).
Microsoft 365 (Office 365) como origen
Para copiar datos desde Microsoft 365 (Office 365), en la sección source de la actividad de copia se admiten las siguientes propiedades:
Propiedad | Descripción | Obligatorio |
---|---|---|
type | La propiedad type del origen de la actividad de copia debe establecerse en: Office365Source | Sí |
allowedGroups | Predicado de la selección de grupo. Utilice esta propiedad para seleccionar hasta 10 grupos de usuarios para los que se recuperarán los datos. Si no se especifica ningún grupo, se devolverán datos para toda la organización. | No |
userScopeFilterUri | Cuando la propiedad allowedGroups no se especifica, puede usar una expresión de predicado que se aplica en todo el inquilino para filtrar las filas específicas que extraer de Microsoft 365 (Office 365). El formato de predicado debe coincidir con el formato de consultas de las API de Microsoft Graph, por ejemplo, https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance' . |
No |
dateFilterColumn | Nombre de la columna de filtro DateTime. Utilice esta propiedad para limitar el intervalo de tiempo para que se extraigan los datos de Microsoft 365 (Office 365). | Sí, si el conjunto de datos tiene una o varias columnas DateTime. Consulte aquí para obtener la lista de conjuntos de datos que requieren este filtro DateTime. |
startTime | Valor DateTime de inicio para el filtro. | Sí, si se especifica dateFilterColumn |
endTime | Valor DateTime de fin para el filtro. | Sí, si se especifica dateFilterColumn |
outputColumns | Matriz de las columnas que se van a copiar en el receptor. | No |
Ejemplo:
"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"
}
}
}
]
Contenido relacionado
Para obtener una lista de almacenes de datos que la actividad de copia admite como orígenes y receptores, vea Almacenes de datos que se admiten.