次の方法で共有


Azure Data Factory または Synapse Analytics を使用して ServiceNow V2 からデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

Tip

Microsoft Fabric の Data Factory (企業向けのオールインワン分析ソリューション) を試してみてください。 Microsoft Fabric では、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法については、こちらを参照してください。

この記事では、Azure Data Factory および Synapse Analytics パイプラインでコピー アクティビティを使用して、ServiceNow からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。

Important

ServiceNow V1 コネクタは 削除段階にありますServiceNow コネクタを V1 から V2 にアップグレードすることをお勧めします。

サポートされる機能

この ServiceNow コネクタは、次の機能でサポートされます。

サポートされる機能 IR
Copy アクティビティ (ソース/-) (1) (2)
検索アクティビティ (1) (2)

① Azure 統合ランタイム ② セルフホステッド統合ランタイム

ソースおよびシンクとしてサポートされているデータ ストアの一覧については、「サポートされているデータ ストア」の表を参照してください。

このサービスでは、接続を行うための組み込みのドライバーが提供されます。 そのため、このコネクタを使用するドライバーを手動でインストールする必要はありません。

Prerequisite

このコネクタを使用するには、ServiceNow の sys_db_objectsys_db_viewsys_dictionary テーブルへの読み取りアクセス権を持つロールが必要です。

ServiceNow のビューにアクセスするには、少なくとも sys_db_view_table テーブルと sys_db_view_table_field テーブルへの読み取りアクセス権を持つロールが必要です。

作業の開始

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。

UI を使用して ServiceNow のリンク サービスを作成する

次の手順を使用して、Azure portal UI で ServiceNow のリンク サービスを作成します。

  1. Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンク サービス] を選択して、[新規] をクリックします。

    Azure Data Factory の UI を使用した新しいリンク サービスの作成を示すスクリーンショット。

  2. ServiceNow を検索し、ServiceNow コネクタを選択します。

    ServiceNow コネクタのスクリーンショット。

  3. サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。

    ServiceNow のリンク サービスの構成のスクリーンショット。

コネクタの構成の詳細

次のセクションでは、ServiceNow コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。

リンクされたサービスのプロパティ

ServiceNow のリンクされたサービスでは、次のプロパティがサポートされます。

Property Description Required
type プロパティは ServiceNowV2 に設定する必要があります Yes
エンドポイント ServiceNow サーバーのエンドポイント (http://<instance>.service-now.com)。 Yes
authenticationType 使用する認証の種類。
使用可能な値: BasicOAuth2
Yes
ユーザー名 Basic および OAuth2 認証で ServiceNow サーバーへの接続に使用されるユーザー名。 Yes
パスワード Basic および OAuth2 認証のユーザー名に対応するパスワード。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 Yes
clientId OAuth2 認証のクライアント ID。 はい (OAuth 認証の場合)
clientSecret OAuth2 認証のクライアント シークレット。 このフィールドを SecureString とマークして安全に保存するか、Azure Key Vault に保存されているシークレットを参照します。 はい (OAuth 認証の場合)
grantType クライアント アプリがトークンへのアクセスに使用する OAuth2.0 フローの種類を指定します。 既定値は password です。 はい (OAuth 認証の場合)

Example:

{
    "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 に設定します。 次のプロパティがサポートされています。

Property Description Required
データセットの type プロパティは、ServiceNowV2Object に設定する必要があります Yes
tableName テーブルの名前。 Yes
valueType ServiceNow テーブル値の型。 このプロパティの値は、 display または actual (既定値) にすることができます。 sysparm_display_value呼び出すときに、のパラメーターとして true または false を確認できます。 No

Example

{
    "name": "ServiceNowDataset",
    "properties": {
        "type": "ServiceNowV2Object",
        "typeProperties": {
            "tableName": "<table name>",
            "valueType": "actual"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ServiceNow linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

コピー アクティビティのプロパティ

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、ServiceNow ソース でサポートされるプロパティの一覧を示します。

ソースとしての ServiceNow

ServiceNow からデータをコピーするには、コピー アクティビティのソースの種類を ServiceNowV2Source に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。

Property Description Required
Copy アクティビティ ソースの type プロパティは ServiceNowV2Source に設定する必要があります Yes
式を使用してデータを読み取ります。 クエリ ビルダーで式を構成できます。 これは、ServiceNow の条件ビルダーと同じ使い方です。 使用方法については、こちらの記事をご覧ください。 expression パラメーターを使うこともできます。 表示値の代わりに実際の値を使用する必要があることに注意してください。 No
expression の ""
式の型。 値は、Constant (既定値)、Unary、Binary、Field、Nary にすることができます。 No
value 定数の値です。 式の型が定数またはフィールドの場合は、はい
operators 演算子の値。 演算子の詳細については、この記事文字列を含む選択フィールドで使用可能な演算子セクションをご覧ください。 式の型が単項またはバイナリの場合は、はい
operands 演算子が適用される式の一覧。 式の型が単項またはバイナリの場合は、はい
pageSize クエリ結果のページあたりのドキュメント数。 No
(既定値は 300)

Example:

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

expression パラメーターの使用

expression パラメーターは、[動的なコンテンツの追加] を選択すると、クエリ ビルダーで構成できます。 パラメーターの種類は、Object にする必要があります。また、値は、次の JSON の例に示す形式に従う必要があります。

 {
	"type": "Nary",
	"operators": [
		"="
	],
	"operands": [
		{
			"type": "Field",
			"value": "col"
		},
		{
			"type": "Constant",
			"value": "val"
		}
	]
}

expression パラメーターを使用したソース 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>"
            }
        }
    }
]

ServiceNow API の制限により、列 sys_tags とその派生列を取得できません。

Lookup アクティビティのプロパティ

プロパティの詳細については、Lookup アクティビティに関するページを参照してください。

ServiceNow コネクタをアップグレードする

ServiceNow コネクタをアップグレードする際に役立つ手順を次に示します。

  1. リンクされたサービスのプロパティ」を参照して、新しいリンクされたサービスを作成します。
  2. ソース内のクエリは、ServiceNow の条件ビルダーと同じ使用法のクエリ ビルダーにアップグレードされます。 ServiceNow をソースとして参照する設定方法について説明します。

ServiceNow V2 と V1 の違い

ServiceNow V2 コネクタは新しい機能を提供し、ServiceNow V1 コネクタのほとんどの機能と互換性があります。 次のテーブルは、V2 と V1 の機能の違いを示しています。

ServiceNow V2 ServiceNow V1
リンクされたサービスでは useEncryptedEndpoints、useHostVerification、usePeerVerification をサポートしません。 リンクされたサービスでは、useEncryptedEndpoints、useHostVerification、usePeerVerification をサポートします。
ソースでクエリ ビルダーをサポートします。 ソースでクエリ ビルダーをサポートしません。
SQL ベースのクエリをサポートしません。 SQL ベースのクエリをサポートします。
クエリ ビルダーで、sortBy クエリをサポートしません。 クエリで sortBy クエリをサポートします。
データセット内のスキーマを表示できます。 データセット内のスキーマは表示できません。
データセットにvalueTypeまたはdisplayするようにactualを構成できます。 表示または実際のテーブル名は、 tableNameの値として使用されます。

列名は表示値と実際の値の両方で [column name] です。
"Display" または "Actual" プレフィックスが付加された表示または実際のテーブル名は、 tableNameの値として使用されます。

実際の値の列名は [column name]_valueされ、表示値の場合は [column name]_display_value

Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。