Копирование и преобразование данных из Microsoft 365 (Office 365) в Azure с помощью Фабрика данных Azure или Synapse Analytics

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Конвейеры Фабрики данных Azure и Azure Synapse Analytics объединяются с подключением к данным Microsoft Graph, что позволяет использовать расширенные организационные данные в вашем клиенте Microsoft 365 (Office 365) в Azure, создавать аналитические приложения и извлекать аналитические данные на основе этих полезных ресурсов данных. Интеграция с Privileged Access Management обеспечивает безопасный контроль доступа к ценным курированным данным в Microsoft 365 (Office 365). См. эту ссылку для обзора Подключение к данным Microsoft Graph.

В этой статье описывается использование действия копирования для копирования данных и Поток данных для преобразования данных из Microsoft 365 (Office 365). Общие сведения о копировании данных см. в обзоре действия копирования. Общие сведения о преобразовании данных см . в обзоре потока данных сопоставления.

Примечание.

Соединитель Microsoft 365 Поток данных в настоящее время находится в предварительной версии. Чтобы принять участие, используйте эту форму регистрации: M365 + Analytics Preview.

Поддерживаемые возможности

Этот соединитель Microsoft 365 (Office 365) поддерживается для следующих возможностей:

Поддерживаемые возможности IR
Действие копирования (источник/-)
Поток данных для сопоставления (источник/-)

① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции

Соединитель ADF Microsoft 365 (Office 365) и Подключение к данным Microsoft Graph позволяет масштабировать прием различных типов наборов данных из почтовых ящиков с поддержкой электронной почты Exchange, включая контакты адресной книги, события календаря, сообщения электронной почты, сведения о пользователях, параметры почтового ящика и т. д. Ознакомьтесь с полным списком доступных наборов данных.

Сейчас в рамках одного действия копирования и потока данных можно получать только данные из Microsoft 365 (Office 365) в Хранилище BLOB-объектов Azure, Azure Data Lake Storage 1-го поколения и Azure Data Lake Storage 2-го поколения в формате JSON (тип setOfObjects). При копировании в Хранилище BLOB-объектов Azure выходные данные — это большой двоичный объект, содержащий текст JSON. Если вы хотите загрузить Microsoft 365 (Office 365) в другие типы хранилищ данных или в других форматах, можно объединить первое действие копирования или поток данных с последующим действием для дальнейшей загрузки данных в любое из поддерживаемых целевых хранилищ ADF (см. столбец "поддерживаемый в качестве приемника" в таблице "Поддерживаемые хранилища данных и форматы").

Важно!

  • Подписка Azure, содержащая фабрику данных или рабочую область Synapse, и хранилище данных приемника должно находиться в том же клиенте Microsoft Entra, что и клиент Microsoft 365 (Office 365).
  • Среда выполнения Azure Integration Runtime, используемая для действия копирования, а также целевой объект должны размещаться в том же регионе, где расположен почтовый ящик пользователей клиента Microsoft 365 (Office 365). В этой статье описано, как определяется расположение Azure Integration Runtime. В этой таблице собран список поддерживаемых регионов Office и соответствующих им регионов Azure.
  • Проверка подлинности субъекта-службы является единственным механизмом проверки подлинности, поддерживаемым для Хранилища BLOB-объектов Azure, Azure Data Lake Storage 1-го поколения и Azure Data Lake Storage 2-го поколения в качестве целевых хранилищ.

Примечание.

Используйте среду выполнения интеграции Azure в связанных службах источника и приемника. Локальная среда выполнения интеграции и среда выполнения интеграции управляемой виртуальной сети не поддерживаются.

Необходимые компоненты

Чтобы скопировать и преобразовать данные из Microsoft 365 (Office 365) в Azure, необходимо выполнить следующие предварительные действия:

  • Администратор вашего арендатора Microsoft 365 (Office 365) должен выполнить действия по подключению, как описано здесь.
  • Создайте и настройте веб-приложение Microsoft Entra в идентификаторе Microsoft Entra. Инструкции см. в разделе "Создание приложения Microsoft Entra".
  • Запишите следующие значения, которые будут использоваться для определения связанной службы для Microsoft 365 (Office 365):
  • Добавьте удостоверение пользователя, которое будет запрашивать доступ к данным в качестве владельца веб-приложения Microsoft Entra (из веб-приложения > Microsoft Entra Параметры > владельца).>
    • Идентификатор пользователя должен быть в организации Microsoft 365 (Office 365), из которой вы получаете данные, и не должно быть гостевым пользователем.

Утверждение новых запросов на доступ к данным

Если вы впервые запрашиваете данные для определенного контекста (который определяется комбинацией таблицы данных, к которой осуществляется доступ, целевой учетной записи, в которую загружаются данные, и идентификатора пользователя, используемого для запроса доступа к данным), для действия копирования будет отображаться состояние Выполняется и, только когда вы щелкнете ссылку "Подробности" в разделе "Действия", вы увидите состояние "RequesetingConsent". Участник группы лиц, утверждающих доступ к данным, должен утвердить запрос в Privileged Access Management, прежде чем можно будет продолжить извлечение данных.

На этой странице описано, как утверждающее лицо может утвердить запрос на доступ к данным, а здесь представлены общие сведения об интеграции с Privileged Access Management и настройке группы лиц, утверждающих доступ к данным.

Начало работы

Совет

Пошаговое руководство по использованию соединителя Microsoft 365 (Office 365) см. в статье Загрузка данных из Microsoft 365 (Office 365).

Конвейер можно создать с действием копирования и потоком данных с помощью одного из следующих средств или пакетов SDK. Щелкните ссылку, чтобы перейти к учебнику, содержащему пошаговые инструкции по созданию конвейера с использованием действия копирования.

Создайте связанную службу с Microsoft 365 (Office 365) с помощью пользовательского интерфейса

Выполните следующие действия, чтобы создать связанную службу с Microsoft 365 (Office 365) в пользовательском интерфейсе портала Azure.

  1. Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":

  2. Найдите Microsoft 365 (Office 365) и выберите соединитель Microsoft 365 (Office 365).

    Screenshot of the Microsoft 365 (Office 365) connector.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

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

Сведения о конфигурации соединителя

Следующие разделы содержат сведения о свойствах JSON, которые используются для определения сущностей Фабрики данных, относящихся к соединителю Microsoft 365 (Office 365).

Свойства связанной службы

Для связанной службы Microsoft 365 (Office 365) поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Для свойства type необходимо задать значение Office365. Да
office365TenantId Идентификатор клиента Azure, которому принадлежит учетная запись Microsoft 365 (Office 365). Да
servicePrincipalTenantId Укажите сведения о клиенте, в котором находится веб-приложение Microsoft Entra. Да
servicePrincipalId Укажите идентификатора клиента приложения. Да
servicePrincipalKey Укажите ключ приложения. Пометьте это поле как SecureString для безопасного хранения. Да
connectVia Среда Integration Runtime, используемая для подключения к хранилищу данных. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. No

Примечание.

Значения office365TenantId и servicePrincipalTenantId имеют следующие различия и принимают следующие значения.

  • Если вы разработчик предприятия разрабатываете приложение для данных Microsoft 365 (Office 365) для использования вашей организации, то следует указать один и тот же идентификатор клиента для обоих свойств, который является идентификатором клиента Microsoft Entra вашей организации.
  • Если вы являетесь разработчиком программного обеспечения, разрабатывающего приложение для клиентов, office365TenantId будет идентификатором клиента (установщиком приложений) Microsoft Entra и servicePrincipalTenantId будет идентификатором клиента Microsoft Entra вашей компании.

Пример:

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

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе представлен список свойств, поддерживаемых набором данных Microsoft 365 (Office 365).

Для копирования данных из Microsoft 365 (Office 365) поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойство type для набора данных должно иметь значение Office365Table. Да
tableName Имя набора данных для извлечения из Microsoft 365 (Office 365). Здесь приведен список наборов данных Microsoft 365 (Office 365), доступных для извлечения. Да

Если вы ранее настраивали dateFilterColumn, startTime, endTime и userScopeFilterUri в наборе данных, он пока поддерживается "как есть", но мы рекомендуем использовать новую модель в качестве источника действия.

Пример

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

Свойства действия копирования

Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. В этом разделе представлен список свойств, поддерживаемых источником Microsoft 365 (Office 365).

Microsoft 365 (Office 365) в качестве источника

Для копирования данных из Microsoft 365 (Office 365) в разделе source для действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойство type источника действия копирования должно иметь значение Office365Source Да
allowedGroups Предикат выбора группы. Используйте это свойство, чтобы выбрать до 10 групп пользователей, для которых будут извлечены данные. Если группы не указаны, будут возвращены данные для всей организации. No
userScopeFilterUri Если свойство allowedGroups не задано, можно использовать выражение предиката, которое применяется ко всему клиенту для фильтрации конкретных строк, извлекаемых из Microsoft 365 (Office 365). Формат предиката должен соответствовать формату запроса интерфейса API Microsoft Graph, например https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance'. No
dateFilterColumn Имя столбца фильтра даты и времени. Используйте это свойство, чтобы ограничить диапазон времени, за который извлекаются данные Microsoft 365 (Office 365). Да, если набор данных имеет один или несколько столбцов DateTime. Список наборов данных, для которых требуется этот фильтр DateTime, см. здесь.
startTime Начальное значение даты и времени для фильтрации. Да, если указан dateFilterColumn
endTime Конечное значение даты и времени для фильтрации. Да, если указан dateFilterColumn
outputColumns Массив столбцов для копирования в приемник. No

Пример:

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

Преобразование данных с помощью соединителя Microsoft 365

Наборы данных Microsoft 365 можно использовать в качестве источника с потоками данных сопоставления. Поток данных преобразует данные путем автоматического выравнивания набора данных. Это позволяет пользователям сосредоточиться на том, чтобы использовать плоский набор данных для ускорения сценариев аналитики.

Свойства потока данных для сопоставления

Чтобы создать поток данных сопоставления с помощью соединителя Microsoft 365 в качестве источника, выполните следующие действия.

  1. В ADF Studio перейдите в раздел "Потоки данных" центра "Автор ", нажмите кнопку ... , чтобы удалить меню действий потока данных и выбрать элемент "Создать поток данных". Включите режим отладки с помощью кнопки отладки потока данных в верхней строке холста потока данных.

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

  2. В редакторе потока данных сопоставления выберите "Добавить источник".

    Screenshot of add source in mapping data flow.

  3. На вкладке "Параметры источника" выберите Inline в свойстве типа источника, Microsoft 365 (Office 365) в типе встроенного набора данных и связанную службу Microsoft 365, созданную ранее.

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

  4. На вкладке "Источник" выберите имя таблицы microsoft 365, которую вы хотите преобразовать. Кроме того, выберите параметр "Автоплощение", чтобы решить, хотите ли поток данных автоматически сравнять исходный набор данных.

    Screenshot of the source options of mapping data flow source.

  5. Для табуляции проекции, оптимизации и проверки выполните сопоставление потока данных.

  6. На вкладке "Предварительный просмотр данных" нажмите кнопку "Обновить ", чтобы получить пример набора данных для проверки.

Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.