使用 Azure 数据工厂 或 Synapse Analytics 从 ServiceNow V1 复制数据

适用于: Azure 数据工厂 Azure Synapse Analytics

本文概述了如何使用 Azure 数据工厂 和 Synapse Analytics 管道中的复制活动从 ServiceNow 复制数据。 它是建立在介绍复制活动概况的复制活动概述一文基础上的。

重要

ServiceNow V1 连接器处于 删除阶段。 建议将 ServiceNow 连接器 从 V1 升级到 V2。

支持的功能

此 ServiceNow 连接器支持以下功能:

支持的功能 IR
复制活动 (source/-) (1) (2)
查找活动 (1) (2)

(1) Azure集成运行时 (2) 自承载集成运行时

如需可以用作源/接收器的数据存储的列表,请参阅支持的数据存储表。

服务提供了内置驱动程序,用来启用连接。 因此,使用此连接器无需手动安装任何驱动程序。

入门

若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:

使用 UI 创建到 ServiceNow 的链接服务

使用以下步骤在 Azure 门户 UI 中创建指向 ServiceNow 的链接服务。

  1. 浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡,并选择“链接服务”,然后单击“新建”:

  2. 搜索“ServiceNow”并选择 ServiceNow 连接器。

    ServiceNow 连接器的屏幕截图。

  3. 配置服务详细信息、测试连接并创建新的链接服务。

    ServiceNow 的链接服务配置(旧版)的屏幕截图。

连接器配置详细信息

对于特定于 ServiceNow 连接器的数据工厂实体,以下部分提供有关用于定义这些实体的属性的详细信息。

关联服务属性

ServiceNow 链接服务支持以下属性:

属性 描述 必需
类型 type 属性必须设置为:“ServiceNow” 是
终结点 ServiceNow 服务器的终结点 (http://<instance>.service-now.com)。 是
验证类型 可使用的身份验证类型。
允许的值为: Basic、 OAuth2
是
用户名 用户名用于连接到 ServiceNow 服务器,进行基本和 OAuth2 身份验证。 是
密码 用于 Basic 和 OAuth2 身份验证的用户名对应的密码。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure 密钥保管库 中的机密。 是
客户端 ID OAuth2 身份验证的客户端 ID。 否
客户密钥 OAuth2 身份验证的客户端密码。 将此字段标记为 SecureString 以安全地存储它,或引用存储在 Azure 密钥保管库 中的机密。 否
使用加密端点 指定是否使用 HTTPS 加密数据源终结点。 默认值为 true。 否
使用主机验证 指定通过 TLS 进行连接时是否要求服务器证书中的主机名与服务器的主机名匹配。 默认值为 true。 否
usePeerVerification 指定通过 TLS 进行连接时是否要验证服务器的标识。 默认值为 true。 否

Example:

{
    "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 属性必须设置为:ServiceNowObject 是
表名称 表的名称。 否(如果指定了活动源中的“query”)

示例

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

拷贝活动的属性

有关可用于定义活动的各部分和属性的完整列表,请参阅管道一文。 本部分提供 ServiceNow 源支持的属性列表。

以 ServiceNow 作为源

要从 ServiceNow 复制数据,请将复制活动中的源类型设置为“ServiceNowSource”。 复制活动 源 部分支持以下属性:

属性 描述 必需
类型 复制活动源的 type 属性必须设置为:ServiceNowSource 是
查询 使用自定义 SQL 查询读取数据。 例如: "SELECT * FROM Actual.alm_asset"。 如果在数据集中指定了“tableName”,则为否

在查询中指定 ServiceNow 的架构和列时注意以下内容,并且参阅有关复制性能隐含的性能提示。

  • 架构:在 ServiceNow 查询中将架构指定为 Actual 或 Display,从而在调用 sysparm_display_value 时可以将其视为参数 ,其值为 true 或 false。
  • 列:Actual 架构下实际值的列名是 [column name]_value,而 Display 架构下显示值的列名为 [column name]_display_value。 请注意,列名需要映射到查询中所使用的架构。

示例查询:SELECT col_value FROM Actual.alm_asset 或 SELECT col_display_value FROM Display.alm_asset

Example:

"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 有 2 个不同的架构,一个是“实际”,返回实际数据;另一个是“显示”,返回数据的显示值。

如果在查询中有筛选器时,请使用“Actual”架构,此架构副本性能更好。 在查询“实际”架构时,ServiceNow 原生支持在提取数据时应用过滤器,仅返回筛选后的结果集。然而,在查询“显示”架构时,ADF 会检索所有数据,并在内部应用过滤器。

索引

ServiceNow 表索引有助于提高查询性能,请参阅创建表索引。

查询活动属性

若要了解有关属性的详细信息,请查看 Lookup 活动。

要查看作为源和接收器的复制活动支持的数据存储的列表,请参阅支持的数据存储。