適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
この記事では、Azure Data Factoryのコピー アクティビティを使用して ODBC データ ストアとの間でデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。
サポートされる機能
この ODBC コネクタでは、次の機能がサポートされます。
| サポートされる機能 | IR |
|---|---|
| Copy アクティビティ (ソース/シンク) | ② |
| ルックアップ アクティビティ | ② |
(1) Azure統合ランタイム (2) セルフホステッド統合ランタイム
ソースおよびシンクとしてサポートされているデータ ストアの一覧については、「サポートされているデータ ストア」の表を参照してください。
具体的には、この ODBC コネクタは、基本または匿名認証を使用して、任意の ODBC 対応データ ストアをコピー元またはコピー先とするデータのコピーをサポートします。 64 ビットの ODBC ドライバーが必要です。 ODBC シンクの場合、サービスでは ODBC バージョン 2.0 標準がサポートされています。
前提条件
この ODBC コネクタを使用するには、次の手順が必要です。
- セルフホスト型インテグレーションランタイムを設定します。 詳細については、セルフホステッド Integration Runtimeに関する記事を参照してください。
- Integration Runtime コンピューターにデータ ストア用の 64 ビット ODBC ドライバーをインストールします。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用できます。
- データのコピー ツール
- Azure portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Azure Resource Manager テンプレート
UI を使用して ODBC データ ストアのリンク サービスを作成する
Azure ポータル UI で ODBC データ ストアへのリンクされたサービスを作成するには、次の手順に従います。
Azure Data Factoryまたは Synapse ワークスペースの [管理] タブを参照し、[リンクされたサービス] を選択し、[新規] をクリックします。
Azure Data Factory UI を使用した新しいリンク サービスの作成のスクリーンショット ODBC を検索し、ODBC コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
次のセクションでは、ODBC コネクタに固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。
リンクされたサービスのプロパティ
ODBC のリンクされたサービスでは、次のプロパティがサポートされます。
| プロパティ | 内容 | 必須 |
|---|---|---|
| 型 | type プロパティは、次のように設定する必要があります:Odbc | はい |
| 接続文字列 | 資格情報部分を除くコネクションストリング。
Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; などのパターンで接続文字列を指定することも、DSN=<name of the DSN on IR machine>; を使用してIntegration Runtime コンピューターに設定したシステム DSN (データ ソース名) を使用することもできます (それに応じて、リンクされたサービスの資格情報部分を指定する必要があります)。Azure Key Vaultにパスワードを入力し、接続文字列から password 構成をプルすることもできます。 詳細については、「store credentials in Azure Key Vaultを参照してください。 |
はい |
| 認証タイプ | ODBC データ ストアへの接続に使用される認証の種類です。 使用できる値は、以下のとおりです。Basic と Anonymous。 |
はい |
| userName | 基本認証を使用している場合は、ユーザー名を指定します。 | いいえ |
| パスワード | userName に指定したユーザー アカウントのパスワードを指定します。 このフィールドを SecureString としてマークして安全に格納するか、 |
いいえ |
| 資格情報 | ドライバー固有のプロパティ値の形式で指定された接続文字列のアクセス資格情報の部分。 例: "RefreshToken=<secret refresh token>;". このフィールドを SecureString とマークします。 |
いいえ |
| connectVia | データ ストアへの接続に使用するIntegration Runtime。 Prerequisitesで説明されているように、セルフホステッド Integration Runtime が必要です。 | はい |
例 1: 基本認証の使用
{
"name": "ODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "<connection string>",
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
例 2: 匿名認証の使用
{
"name": "ODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "<connection string>",
"authenticationType": "Anonymous",
"credential": {
"type": "SecureString",
"value": "RefreshToken=<secret refresh token>;"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
データセットのプロパティ
データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。 このセクションでは、ODBC データセット でサポートされるプロパティの一覧を示します。
ODBC 互換データ ストアとの間でデータをコピーする場合、次のプロパティがサポートされます。
| プロパティ | 内容 | 必須 |
|---|---|---|
| 型 | データセットの type プロパティは、次のように設定する必要があります:OdbcTable | はい |
| tableName | ODBC データ ストア内のテーブルの名前。 | ソースの場合はいいえ (アクティビティ ソースの "query" が指定されている場合)、 シンクの場合ははい |
例
{
"name": "ODBCDataset",
"properties": {
"type": "OdbcTable",
"schema": [],
"linkedServiceName": {
"referenceName": "<ODBC linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "<table name>"
}
}
}
RelationalTable 型のデータセットを使用していた場合、現状のまま引き続きサポートされますが、今後は新しいものを使用することをお勧めします。
Copy アクティビティ のプロパティ
アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、ODBC ソースでサポートされるプロパティの一覧を示します。
ソースとしての ODBC
ODBC 互換データ ストアからデータをコピーする場合、コピー アクティビティの source セクションで次のプロパティがサポートされます。
| プロパティ | 内容 | 必須 |
|---|---|---|
| 型 | コピー アクティビティのソースの type プロパティは、次のように設定する必要があります:OdbcSource | はい |
| クエリ | カスタム SQL クエリを使用してデータを読み取ります。 (例: "SELECT * FROM MyTable")。 |
いいえ (データセットの "tableName" が指定されている場合) |
例:
"activities":[
{
"name": "CopyFromODBC",
"type": "Copy",
"inputs": [
{
"referenceName": "<ODBC input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "OdbcSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
RelationalSource 型のソースを使用していた場合は現状のまま引き続きサポートされますが、今後は新しいものを使用することをお勧めします。
シンクとしての ODBC
ODBC 対応データ ストアにデータをコピーするには、コピー アクティビティのシンクの種類を OdbcSink に設定します。 コピー アクティビティの sink セクションでは、次のプロパティがサポートされます。
| プロパティ | 内容 | 必須 |
|---|---|---|
| 型 | コピー アクティビティのシンクの type プロパティは、次のように設定する必要があります: OdbcSink | はい |
| writeBatchTimeout | タイムアウトする前に一括挿入操作の完了を待つ時間です。 使用可能な値: 期間。 例:"00:30:00" (30 分)。 |
いいえ |
| writeBatchSize | バッファー サイズが writeBatchSize に達したときに SQL テーブルにデータを挿入します。 使用可能な値: 整数 (行数)。 |
いいえ (既定値は 0 - 自動検出) |
| preCopyScript | コピー アクティビティの毎回の実行で、データをデータ ストアに書き込む前に実行する SQL クエリを指定します。 このプロパティを使用して、事前に読み込まれたデータをクリーンアップできます。 | いいえ |
Note
"writeBatchSize" が設定されていない場合 (自動検出)、コピー アクティビティは、ドライバーでバッチ操作がサポートされるかどうかを検出した後、サポートされる場合は 10000 を、サポートされない場合は 1 を設定します。 0 以外の値を明示的に設定した場合、コピー アクティビティはその値に従い、実行時にドライバーがバッチ操作をサポートしていない場合は失敗します。
例:
"activities":[
{
"name": "CopyToODBC",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ODBC output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "OdbcSink",
"writeBatchSize": 100000
}
}
}
]
Lookup アクティビティのプロパティ
プロパティの詳細については、Lookup アクティビティに関するページを参照してください。
接続の問題のトラブルシューティング
接続の問題をトラブルシューティングするには、
- Integration Runtime Configuration Manager を起動します。
- [診断] タブに切り替えます。
- [テスト接続] セクションで、データ ストアの [種類] (リンクされたサービス) を選択します。
- データ ストアへの接続に使用する接続文字列を指定します。 authenticationを選択し、ユーザー名、password、またはcredentialsを入力します。
- [接続テスト] をクリックして、データ ストアへの接続をテストします。
関連するコンテンツ
Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。