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

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

Совет

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. Найдите ServiceNow и выберите соединитель ServiceNow.

    Select the ServiceNow connector.

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

    Configure a linked service to ServiceNow.

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

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

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

Для связанной службы ServiceNow поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Для свойства type нужно задать значение ServiceNow. Да
конечная точка Конечная точка сервера ServiceNow (http://<instance>.service-now.com). Да
authenticationType Тип проверки подлинности.
Допустимые значения: Basic, OAuth2.
Да
username Имя пользователя, используемое для подключения к серверу ServiceNow для обычной проверки подлинности и OAuth2. Да
password Пароль, соответствующий имени пользователя для обычной проверки подлинности и OAuth2. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. Да
clientId Идентификатор клиента для проверки подлинности OAuth2. No
clientSecret Секрет клиента для проверки подлинности OAuth2. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. No
useEncryptedEndpoints Указывает, шифруются ли конечные точки источника данных с помощью протокола HTTPS. Значение по умолчанию — true. No
useHostVerification Указывает, следует ли требовать, чтобы имя узла в сертификате сервера совпадало с именем узла сервера при подключении по протоколу TLS. Значение по умолчанию — true. No
usePeerVerification Указывает, следует ли проверять удостоверение сервера при подключении по протоколу TLS. Значение по умолчанию — true. No

Пример:

{
    "name": "ServiceNowLinkedService",
    "properties": {
        "type": "ServiceNow",
        "typeProperties": {
            "endpoint" : "http://<instance>.service-now.com",
            "authenticationType" : "Basic",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            }
        }
    }
}

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

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. Этот раздел содержит список свойств, поддерживаемых набором данных ServiceNow.

Чтобы скопировать данные из ServiceNow, установите свойство type набора данных ServiceNowObject. Поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойство type (Тип) для набора данных должно иметь значение ServiceNowObject Да
tableName Имя таблицы. Нет (если свойство query указано в источнике действия)

Пример

{
    "name": "ServiceNowDataset",
    "properties": {
        "type": "ServiceNowObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ServiceNow linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

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

Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником ServiceNow.

ServiceNow в качестве источника

Чтобы копировать данные из ServiceNow, установите тип источника ServiceNowSource в действии копирования. В разделе source действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойство type источника действия копирования должно иметь значение ServiceNowSource. Да
query Используйте пользовательский SQL-запрос для чтения данных. Например: "SELECT * FROM Actual.alm_asset". Нет (если для набора данных задано свойство tableName)

Указывая в запросе схему и столбец для ServiceNow, обратите внимание на следующую информацию. Также просмотрите советы по улучшению производительности копирования.

  • Схема. В запросе к ServiceNow укажите схему как Actual или Display, что можно рассматривать как параметр sysparm_display_value со значением true или false при вызове интерфейсов REST API ServiceNow
  • Столбец. Имя столбца для фактического значения в схеме Actual — это [column name]_value, а отображаемое имя в Display — это [column name]_display_value. Обратите внимание, что имя столбца должно соответствовать имени в схеме, используемой в запросе.

Пример запроса:SELECT col_value FROM Actual.alm_asset или SELECT col_display_value FROM Display.alm_asset

Пример:

"activities":[
    {
        "name": "CopyFromServiceNow",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ServiceNow input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ServiceNowSource",
                "query": "SELECT * FROM Actual.alm_asset"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Советы по производительности

Используемые схемы

В ServiceNow есть две разные схемы: Actual (возвращает фактические данные) и Display (возвращает отображаемые значения данных).

При наличии фильтра в запросе используйте схему Actual, так как она обеспечивает лучшую производительность копирования. Если используется схема Actual, ServiceNow нативно поддерживает фильтр при выборке данных и возвращает только отфильтрованный набор результатов. Если же используется схема Display, ADF извлекает все данные, а затем фильтрует их.

Указатель

Индекс таблицы ServiceNow может помочь повысить производительность запросов. Подробности см. здесь.

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

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

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