適用対象:
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_object、sys_db_view、sys_dictionary テーブルへの読み取りアクセス権を持つロールが必要です。
ServiceNow のビューにアクセスするには、少なくとも sys_db_view_table テーブルと sys_db_view_table_field テーブルへの読み取りアクセス権を持つロールが必要です。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。
- データのコピー ツール
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Azure Resource Manager テンプレート
UI を使用して ServiceNow のリンク サービスを作成する
次の手順を使用して、Azure portal UI で ServiceNow のリンク サービスを作成します。
Azure Data Factory または Synapse ワークスペースの [管理] タブに移動し、[リンク サービス] を選択して、[新規] をクリックします。
- Azureデータファクトリー
- Azure Synapse
ServiceNow を検索し、ServiceNow コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
次のセクションでは、ServiceNow コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。
リンクされたサービスのプロパティ
ServiceNow のリンクされたサービスでは、次のプロパティがサポートされます。
| Property | Description | Required |
|---|---|---|
| 型 | type プロパティは ServiceNowV2 に設定する必要があります | Yes |
| エンドポイント | ServiceNow サーバーのエンドポイント (http://<instance>.service-now.com)。 |
Yes |
| authenticationType | 使用する認証の種類。 使用可能な値: Basic、OAuth2 |
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 に設定します。 次のプロパティがサポートされています。
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 コネクタをアップグレードする際に役立つ手順を次に示します。
- 「リンクされたサービスのプロパティ」を参照して、新しいリンクされたサービスを作成します。
- ソース内のクエリは、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 アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。