使用 Azure Data Factory 或 Synapse Analytics 從 ServiceNow 複製資料

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文概述如何使用 Azure Data Factory 和 Synapse Analytics 管線中的複製活動,從 ServiceNow 複製資料。 本文是根據複製活動概觀一文,該文提供複製活動的一般概觀。

支援的功能

此 ServiceNow 連接器支援下列功能:

支援的功能 IR
複製活動 (來源/-) ① ②
查閱活動 ① ②

① Azure 整合執行階段 ② 自我裝載整合執行階段

如需支援做為來源/接收器的資料存放區清單,請參閱支援的資料存放區表格。

該服務會提供內建的驅動程式來啟用連線。 因此,您不需要使用此連接器來手動安裝任何驅動程式。

開始使用

若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:

使用 UI 建立 ServiceNow 的連結服務

使用下列步驟,在 Azure 入口網站 UI 中建立 ServiceNow 的連結服務。

  1. 前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:

  2. 搜尋 ServiceNow 並選取 ServiceNow 連接器。

    Select the ServiceNow connector.

  3. 設定服務詳細資料,測試連線,然後建立新的連結服務。

    Configure a linked service to ServiceNow.

連接器設定詳細資料

下列各節提供屬性的相關詳細資料,這些屬性是用來定義 ServiceNow 連接器專屬的 Data Factory 實體。

連結服務屬性

以下是針對 ServiceNow 已連結服務支援的屬性:

屬性 描述 必要
type Type 屬性必須設定為:ServiceNow Yes
endpoint ServiceNow 伺服器的端點 (http://<instance>.service-now.com)。 Yes
authenticationType 要使用的驗證類型。
允許的值為:BasicOAuth2
Yes
username 用來連線到 ServiceNow 伺服器以進行 Basic 和 OAuth2 驗證的使用者名稱。 Yes
password 對應至用於進行 Basic 和 OAuth2 驗證之使用者名稱的密碼。 將此欄位標記為 SecureString 以便安全儲存,或參考 Azure Key Vault 中儲存的祕密 Yes
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 資料集的類型屬性必須設定為:ServiceNowObject Yes
tableName 資料表的名稱。 否 (如果已指定活動來源中的「查詢」)

範例

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

複製活動屬性

如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供 ServiceNow 來源所支援的屬性清單。

ServiceNow 作為來源

若要從 ServiceNow 複製資料,請將複製活動中的來源類型設定為 ServiceNowSource。 複製活動的 source 區段支援下列屬性:

屬性 描述 必要
type 複製活動來源的 type 屬性必須設定為:ServiceNowSource Yes
query 使用自訂 SQL 查詢來讀取資料。 例如: "SELECT * FROM Actual.alm_asset" 否 (如果已指定資料集中的 "tableName")

在查詢中指定 ServiceNow 的結構描述和資料行時,請注意下列內容,並參考有關複製效能含意的效能祕訣

  • 結構描述:在 ServiceNow 查詢中,將結構描述指定為 ActualDisplay,而在呼叫 ServiceNow REST API 時,您可以將其視為 sysparm_display_value 的參數 (True 或 False)。 
  • 資料行:Actual 結構描述下實際值的資料行名稱為 [column name]_value,而 Display 結構描述下顯示值的資料行名稱為 [column name]_display_value。 請注意,資料行名稱必須對應至要在查詢中使用的結構描述。

範例查詢:SELECT col_value FROM Actual.alm_assetSELECT 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 有 2 個不同的結構描述,一個是 "Actual" (傳回實際的資料),另一個則是 "Display" (傳回資料的顯示值)。

如果您的查詢中有一個篩選,請使用 "Actual" 結構描述,此結構描述具有較好的複製效能。 針對 "Actual" 結構描述進行查詢時,ServiceNow 在擷取資料以便只傳回已篩選的結果集時原本就支援篩選,而在查詢 "Display" 結構描述時,ADF 會擷取所有資料並在內部套用篩選。

索引

ServiceNow 資料表索引可協助改善查詢效能,請參閱建立資料表索引 \(英文\)。

查閱活動屬性

若要了解屬性的詳細資料,請參閱查閱活動

如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區