适用于:Azure 数据工厂
Azure Synapse Analytics
本文概述如何在 Azure 数据工厂和 Synapse Analytics 管道中使用复制活动从 ServiceNow 复制数据。 它基于 复制活动概述 文章构建,本文概述了复制活动。
重要
ServiceNow V2 连接器提供改进的原生 ServiceNow 支持。 如果在解决方案中使用 ServiceNow V1 连接器 ,建议尽早 升级 ServiceNow 连接器 。 有关 V2 和 V1 之间的差异的详细信息,请参阅本 部分 。
此 ServiceNow 连接器支持以下功能:
支持的功能 | 红外线 |
---|---|
复制活动(源/-) | (1) (2) |
查找活动 | (1) (2) |
(1) Azure 集成运行时 (2) 自承载集成运行时
有关作为源/接收器支持的数据存储的列表,请参阅 支持的数据存储 表。
服务提供了内置驱动程序,用来启用连接。 因此,使用此连接器无需手动安装任何驱动程序。
若要使用此连接器,你需要有一个至少对 ServiceNow 中的 sys_db_object 和 sys_dictionary 表具有读取访问权限的角色。
若要使用管道执行复制活动,可以使用以下工具或 SDK 之一:
使用以下步骤在 Azure 门户 UI 中创建一个到 ServiceNow 的链接服务。
浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
- Azure 数据工厂
- Azure Synapse
搜索“ServiceNow”并选择 ServiceNow 连接器。
配置服务详细信息、测试连接并创建新的链接服务。
对于特定于 ServiceNow 连接器的数据工厂实体,以下部分提供有关用于定义这些实体属性的详细信息。
ServiceNow 链接服务支持以下属性:
属性 | 描述 | 必需 |
---|---|---|
类型 | type 属性必须设置为: ServiceNowV2 | 是 |
端点 | ServiceNow 服务器的终结点 (http://<instance>.service-now.com )。 |
是 |
认证类型 | 可使用的身份验证类型。 允许的值为: Basic、 OAuth2 |
是 |
用户名 | 用户名用于连接到 ServiceNow 服务器,进行基本和 OAuth2 身份验证。 | 是 |
密码 | 用于基本和 OAuth2 身份验证的用户名所对应的密码。 将此字段标记为 SecureString 以安全存储,或 引用存储在 Azure Key Vault 中的机密。 | 是 |
clientId | OAuth2 身份验证的客户端 ID。 | 是,适用于 OAuth 身份验证 |
客户端密钥 | OAuth2 身份验证的客户端密码。 将此字段标记为 SecureString 以安全存储,或 引用存储在 Azure Key Vault 中的机密。 | 是,适用于 OAuth 身份验证 |
授权类型 | 指定客户端应用用于访问令牌的 OAuth2.0 流的类型。 默认值为密码。 | 是,适用于 OAuth 身份验证 |
例:
{
"name": "ServiceNowLinkedService",
"properties": {
"type": "ServiceNowV2",
"typeProperties": {
"endpoint" : "http://<instance>.service-now.com",
"authenticationType" : "Basic",
"username" : "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
}
}
}
有关可用于定义数据集的部分和属性的完整列表,请参阅 数据集 文章。 本部分提供 ServiceNow 数据集支持的属性列表。
若要从 ServiceNow 复制数据,请将数据集的 type 属性设置为 ServiceNowV2Object。 支持以下属性:
属性 | 描述 | 必需 |
---|---|---|
类型 | 数据集的 type 属性必须设置为: ServiceNowV2Object | 是 |
表名称 | 表的名称。 | 是 |
值类型 | ServiceNow 表值的类型。 此属性的值可以是 display 或 actual (默认值)。 调用 ServiceNow REST API 时,可以将其视为 true 或 false 的参数sysparm_display_value 。 |
否 |
例
{
"name": "ServiceNowDataset",
"properties": {
"type": "ServiceNowV2Object",
"typeProperties": {
"tableName": "<table name>",
"valueType": "actual"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<ServiceNow linked service name>",
"type": "LinkedServiceReference"
}
}
}
有关可用于定义活动的节和属性的完整列表,请参阅 Pipelines 文章。 本部分提供 ServiceNow 源支持的属性列表。
若要从 ServiceNow 复制数据,请将复制活动中的源类型设置为 ServiceNowV2Source。 复制活动 源 部分支持以下属性:
属性 | 描述 | 必需 |
---|---|---|
类型 | 复制活动源的 type 属性必须设置为: ServiceNowV2Source | 是 |
表达式 | 使用表达式读取数据。 可以在 查询生成器中配置表达式。 它与 ServiceNow 中的条件生成器具有相同的用法。 有关如何使用它的说明,请参阅 本文。 还可以 使用表达式参数。 请注意,应使用实际值而不是显示值。 | 否 |
在 expression 下 |
||
类型 | 表达式类型。 值可以是 Constant(默认值)、Unary、Binary、Field 和 Nary。 | 否 |
价值 | 常量值。 | 是(当表达式类型为常量或字段时) |
运算符 | 运算符值。 有关运算符的详细信息,请参阅本文中包含字符串的选项字段的运算符。 | 是(当表达式类型为一元或二进制时) |
操作数 | 运算符应用于其中的表达式列表。 | 是(当表达式类型为一元或二进制时) |
页面大小 | 查询结果的每页文档数。 | 否 (默认值为 300) |
例:
"activities": [
{
"name": "CopyFromServiceNow",
"type": "Copy",
"inputs": [
{
"referenceName": "<ServiceNow input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ServiceNowV2Source",
"expression": {
"type": "Nary",
"operators": [
"<"
],
"operands": [
{
"type": "Field",
"value": "u_founded"
},
{
"type": "Constant",
"value": "2000"
}
]
},
"pageSize": 300
},
"sink": {
"type": "<sink type>"
}
}
}
]
可以通过选择“添加动态内容”在“查询生成器”中配置表达式参数。 参数类型应为 Object,值应遵循以下示例 JSON 中显示的格式:
{
"type": "Nary",
"operators": [
"="
],
"operands": [
{
"type": "Field",
"value": "col"
},
{
"type": "Constant",
"value": "val"
}
]
}
下面是使用表达式参数的源 JSON 的示例:
"activities": [
{
"name": "CopyFromServiceNow",
"type": "Copy",
"inputs": [
{
"referenceName": "<ServiceNow input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ServiceNowV2Source",
"expression": {
"type": "Expression",
"value": "@pipeline().parameters.expressionParameter"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
若要了解有关属性的详细信息,请查看 Lookup 活动。
下面是帮助你升级 ServiceNow 连接器的步骤:
- 通过引用 链接服务属性创建新的链接服务。
- 源中的查询将升级到查询生成器,该生成器的用法与 ServiceNow 中的条件生成器相同。 参考 ServiceNow 作为源,了解如何配置它。
ServiceNow V2 连接器提供新功能,并与 ServiceNow V1 连接器的大多数功能兼容。 下表显示了 V2 与 V1 之间的功能差异。
ServiceNow V2 | ServiceNow V1 |
---|---|
链接服务不支持 useEncryptedEndpoints、useHostVerification 和 usePeerVerification。 | 支持在链接服务中使用 useEncryptedEndpoints、useHostVerification 和 usePeerVerification。 |
支持源中的 查询生成器 。 | 源不支持查询生成器。 |
不支持基于 SQL 的查询。 | 支持基于 SQL 的查询。 |
查询生成器不支持 sortBy 查询。 | 支持 Query 中的 sortBy 查询。 |
可以在数据集中查看架构。 | 无法在数据集中查看架构。 |
可以在数据集中将 valueType 配置为 display 或 actual 。 表的显示名或实际名称用作tableName 的值。 列名称为 [column name] ,用于显示值和实际值。 |
带有“Display”或“Actual”前缀的显示或实际表名被用作tableName 的值。实际值的列名为 [column name]_value ,而显示值为 [column name]_display_value 。 |
有关复制活动支持的作为源和接收器的数据存储的列表,请参阅 支持的数据存储。