Копирование данных из списка SharePoint Online с помощью Фабрики данных Azure или Azure Synapse Analytics

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

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

В этой статье описывается, как с помощью действия копирования в конвейерах Фабрики данных Azure и Azure Synapse копировать данные из списка SharePoint Online. Это продолжение статьи о действии копирования в Фабрике данных Azure, в которой представлены общие сведения о действии копирования.

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

Этот соединитель списка SharePoint Online поддерживается для следующих возможностей:

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

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

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

В частности, этот соединитель списка SharePoint Online использует проверку подлинности по субъекту-службе и получает данные по протоколу OData.

Совет

Этот соединитель поддерживает копирование данных из списка SharePoint Online, но не из файла. Процедура копирования файла из SharePoint Online описана здесь.

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

Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:

Создание связанной службы для списка SharePoint Online с помощью пользовательского интерфейса

Выполните приведенные ниже действия, чтобы создать связанную службу для списка SharePoint Online с помощью пользовательского интерфейса на портале Azure.

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

  2. Выполните поиск по запросу "SharePoint" и выберите соединитель списка SharePoint Online.

    Снимок экрана: соединитель списка SharePoint Online.

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

    Снимок экрана: конфигурация связанной службы для списка SharePoint Online.

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

В следующих разделах приведены сведения о свойствах, которые можно использовать при определении сущностей, характерных для соединителя списка SharePoint Online.

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

Для связанной службы списка SharePoint Online поддерживаются следующие свойства.

Свойство Description Обязательный
type Для свойства type необходимо задать значение SharePointOnlineList. Да
siteUrl URL-адрес сайта SharePoint Online, например https://contoso.sharepoint.com/sites/siteName. Да
servicePrincipalId Идентификатор приложения (клиента), зарегистрированного в идентификаторе Microsoft Entra. Да
servicePrincipalCredentialType Укажите тип учетных данных для использования при аутентификации субъекта-службы. Допустимые значения — ServicePrincipalCert и ServicePrincipalKey. No
Для ServicePrincipalCert
servicePrincipalEmbeddedCert Укажите сертификат в кодировке Base64 приложения, зарегистрированного в идентификаторе Microsoft Entra ID, и убедитесь, что тип контента сертификата — PKCS #12. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. Необходимо настроить параметры разрешений, ссылающиеся на эту статью. No
servicePrincipalEmbeddedCertPassword Если ваш сертификат защищен паролем, укажите пароль сертификата. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. No
Для ServicePrincipalKey
servicePrincipalKey Ключ приложения. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. Дополнительные сведения о параметрах разрешений см. в этом разделе . No
tenantId Идентификатор клиента, установленный для приложения. Да
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Если не указано другое, по умолчанию используется интегрированная Azure Integration Runtime. No

Примечание.

Если вы используете проверку подлинности ключа субъекта-службы, которая основана на Azure ACS (контроль доступа службах), рекомендуется переключиться на проверку подлинности сертификата субъекта-службы из-за плана выхода acS.

Пример 1. Использование проверки подлинности ключа субъекта-службы

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

Пример 2. Использование проверки подлинности сертификата субъекта-службы

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

Предоставление разрешения на использование ключа субъекта-службы

Этот соединитель списка SharePoint Online использует проверку подлинности по субъекту-службе для подключения к SharePoint. Чтобы настроить этот механизм, выполните следующие действия:

  1. Регистрация приложения с помощью платформы удостоверений Майкрософт. Дополнительные сведения см. в кратком руководстве. Регистрация приложения с помощью платформа удостоверений Майкрософт. Запишите эти значения, которые используются для определения связанной службы:

    • Application ID
    • ключ приложения.
    • Идентификатор клиента
  2. Предоставьте сайту SharePoint Online разрешение на доступ к зарегистрированному приложению, выполнив приведенные ниже шаги. Для этого необходима роль администратора сайта.

    1. Откройте ссылку на сайт SharePoint Online. Например, URL-адрес в формате https://<your-site-url>/_layouts/15/appinv.aspx , в котором заполнитель <your-site-url> является вашим сайтом.

    2. Найдите зарегистрированный идентификатор приложения, заполните пустые поля и щелкните "Создать".

      • Домен приложения: contoso.com

      • URL-адрес перенаправления: https://www.contoso.com

      • XML-код запроса разрешения:

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

        Предоставьте сайту SharePoint Online разрешения на доступ к зарегистрированному приложению, если у вас есть роль администратора сайта.

      Примечание.

      В контексте настройки соединителя SharePoint домен приложения и URL-адрес перенаправления ссылаются на приложение SharePoint, зарегистрированное в идентификаторе Microsoft Entra, чтобы разрешить доступ к данным SharePoint. Домен приложения — это домен, в котором размещен сайт SharePoint. Например, если сайт SharePoint расположен по адресу "https://contoso.sharepoint.com", то домен приложения будет "contoso.sharepoint.com". URL-адрес перенаправления — это URL-адрес, на который будет перенаправлено приложение SharePoint после проверки подлинности и предоставления разрешений приложению. Этот URL-адрес должен быть страницей на сайте SharePoint, доступ к которому имеет приложение. Например, можно использовать URL-адрес страницы, отображающей список файлов в библиотеке, или страницу, отображающую содержимое документа.

    3. Щелкните "Сделать доверенным" для этого приложения.

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

Полный список разделов и свойств, используемых для определения наборов данных, приведен в статье Наборы данных и связанные службы в фабрике данных Azure. Следующий раздел содержит список свойств, поддерживаемых для набора данных таблицы SAP.

Свойство Описание: Обязательное поле
type Для свойства type набора данных необходимо задать значение SharePointOnlineLResource. Да
listName Имя списка SharePoint Online. Обратите внимание, что апостроф (') не допускается в именах файлов. Да

Пример

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

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

Полный список разделов и свойств, доступных для определения действий, см. в статье, посвященной конвейерам и действиям в Фабрике данных Azure. Следующий раздел содержит список свойств, поддерживаемых для списка SharePoint Online в роли источника.

Список SharePoint Online в роли источника

Для копирования данных из списка SharePoint Online действие копирования поддерживает следующие свойства в разделе Источник.

Свойство Описание: Обязательное поле
type Свойство type источника действия копирования должно иметь значение SharePointOnlineListSource. Да
query Настраиваемые параметры запроса OData для фильтрации данных. Пример: "$top=10&$select=Title,Number". No
httpRequestTimeout Время ожидания ответа для HTTP-запроса (в секундах). По умолчанию используется значение 300 (5 минут). No

Пример

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

Примечание.

Для источника списка SharePoint Online нельзя выбрать больше одного типа данных choice.

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

При копировании данных из списка SharePoint Online используются следующие сопоставления типов данных списка SharePoint Online с промежуточными типами данных службы.

Тип данных SharePoint Online Тип данных OData Промежуточный тип данных
Однострочный текст Edm.String Строка
Несколько строк текста Edm.String Строка
Выбор (меню для выбора) Edm.String Строка
Число (1, 1,0, 100) Edm.Double Двойной
Валюта ($, ¥, €) Edm.Double Двойной
Дата и время Edm.DateTime Дата/время
Поиск (информация уже имеется на сайте) Edm.Int32 Int32
Да/Нет (флажок) Edm.Boolean Логический
"Пользователь" или "Группа"; Edm.Int32 Int32
Гиперссылка или рисунок Edm.String Строка
Вычисляемый (вычисление на основе других столбцов) Edm.String / Edm.Double / Edm.DateTime / Edm.Boolean String / Double / DateTime / Boolean
Вложение Не поддерживается
Результат задачи Не поддерживается
Внешние данные Не поддерживается
Управляемые метаданные Не поддерживается

Копирование файлов из SharePoint Online

Чтобы скопировать файл из SharePoint Online, вы можете применить веб-действие для проверки подлинности и получения маркера доступа из SharePoint Online, а затем передать его в действие копирования, указав соединитель HTTP в качестве источника.

Поток копирования файлов SharePoint

  1. Следуйте разрешениям Grant для использования раздела ключа субъекта-службы, чтобы создать приложение Microsoft Entra и предоставить разрешение SharePoint Online.

  2. Создайте веб-действие, чтобы получить маркер доступа из SharePoint Online:

    • URL-адрес: https://accounts.accesscontrol.windows.net/[Tenant-ID]/tokens/OAuth/2. Замените идентификатор клиента.
    • Метод: POST
    • Заголовки:
      • Content-Type: application/x-www-form-urlencoded
    • Текст: 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]. Замените идентификатор клиента (идентификатор приложения), секрет клиента (ключ приложения), идентификатор арендатора и имя арендатора (арендатора SharePoint).

    Внимание

    В веб-действии установите для параметра "Защищенный вывод" значение true, чтобы значение маркера не сохранялось в формате обычного текста. Для всех дальнейших действий, которые используют это значение, параметр "Защищенный ввод" должен иметь значение true.

  3. Создайте цепочку с действием копирования, где в качестве источника указан соединитель HTTP, для копирования содержимого файлов SharePoint Online:

    • Связанная служба HTTP:
      • Базовый URL-адрес: https://[site-url]/_api/web/GetFileByServerRelativeUrl('[relative-path-to-file]')/$value. Замените URL-адрес сайта и относительный путь к файлу. Обязательно укажите URL-адрес сайта SharePoint вместе с доменным именем, например, https://[sharepoint-domain-name].sharepoint.com/sites/[sharepoint-site]/_api/web/GetFileByServerRelativeUrl('/sites/[sharepoint-site]/[relative-path-to-file]')/$value.
      • Тип проверки подлинности: анонимный (для использования маркера носителя, настроенного в источнике действия копирования позже)
    • Набор данных: выберите необходимый формат. Чтобы скопировать файл "как есть", выберите тип "Двоичный".
    • источник действие Copy:
      • Метод запроса: GET
      • Дополнительный заголовок: используйте выражение @{concat('Authorization: Bearer ', activity('<Web-activity-name>').output.access_token)}, в котором в качестве заголовка авторизации используется токен носителя, созданный вышестоящим веб-действием. Замените имя веб-действия.
    • Настройте приемник действия копирования для любого поддерживаемого назначения приемника.

Примечание.

Даже если приложение Microsoft Entra имеет FullControl разрешения на SharePoint Online, вы не можете копировать файлы из библиотек документов с включенным IRM.

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

Подробные сведения об этих свойствах см. в разделе Действие поиска.

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