適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
Data Factory または Synapse パイプラインでデータ変換アクティビティを使用して、生データを予測や分析情報に変換して処理します。 ストアド プロシージャ アクティビティは、パイプラインでサポートされる変換アクティビティの 1 つです。 この記事は、データ変換とサポートされている変換アクティビティの概要を説明する、データ変換に関する記事に基づいています。
注意
Azure Data Factoryを初めて使用する場合は、
ストアド プロシージャ アクティビティを使用すると、企業内または Azure 仮想マシン (VM) 上の次のいずれかのデータ ストアでストアド プロシージャを呼び出すことができます。
- Azure SQL Database
- Azure Synapse Analytics
- SQL Server Database。 SQL Serverを使用している場合は、データベースをホストするのと同じコンピューター、またはデータベースにアクセスできる別のコンピューターにセルフホステッド統合ランタイムをインストールします。 Self-Hosted 統合ランタイムは、オンプレミス/Azure VM 上のデータ ソースを、セキュリティで保護された管理された方法でクラウド サービスに接続するコンポーネントです。 詳細については、セルフホステッド統合ランタイムに関する記事をご覧ください。
重要
データをAzure SQL DatabaseまたはSQL Serverにコピーする場合は、コピー アクティビティで SqlSink を構成し、sqlWriterStoredProcedureName プロパティを使用してストアド プロシージャを呼び出すことができます。 プロパティの詳細については、次のコネクタ記事を参照してください: Azure SQL Database、SQL Server。 コピー アクティビティを使用してAzure Synapse Analyticsにデータをコピーするときにストアド プロシージャを呼び出す操作はサポートされていません。 ただし、ストアド プロシージャ アクティビティを使用して、Azure Synapse Analyticsでストアド プロシージャを呼び出すことができます。
Azure SQL DatabaseまたはSQL ServerまたはAzure Synapse Analyticsからデータをコピーする場合は、コピー アクティビティで SqlSource を構成し、sqlReaderStoredProcedureName プロパティを使用してソース データベースからデータを読み取るストアド プロシージャを呼び出すことができます。 詳細については、次のコネクタの記事を参照してください:Azure SQL Database、SQL Server、Azure Synapse Analytics
ストアド プロシージャに出力パラメーターがある場合は、ストアド プロシージャ アクティビティを使う代わりに、検索アクティビティとスクリプト アクティビティを使います。 ストアド プロシージャ アクティビティでは、出力パラメーターがある SP の呼び出しはまだサポートされていません。
ストアド プロシージャ アクティビティを使って出力パラメーターがあるストアド プロシージャを呼び出すと、次のエラーが発生します。
Execution fail against sql server. (SQL Server に対する実行が失敗します。) さらにサポートが必要な場合SQL Serverチームにお問い合わせください。 SQL エラー番号: 201。 エラー メッセージ: プロシージャまたは関数 'sp_name' にはパラメーター '@output_param_name' が必要ですが、指定されませんでした。
UI を使用してストアド プロシージャ アクティビティを作成する
パイプライン内でストアド プロシージャア クティビティを使用するには、次の手順を行います。
パイプラインのアクティビティ ペイン内で ストアド プロシージャ を検索し、ストアド プロシージャ アクティビティをパイプライン キャンバスにドラッグします。
キャンバス上で新しいストアド プロシージャ アクティビティを選択します(まだ選択されていない場合)。次に、その[設定]タブを選んで詳細を編集します。
既存のサービスを選択するか、Azure SQL Database、Azure Synapse Analytics、またはSQL Serverに対して新しいリンクされたサービスを作成します。
ストアド プロシージャを選択し、その実行にパラメーターを指定します。
構文の詳細
JSON 形式のストアド プロシージャ アクティビティの定義を次に示します。
{
"name": "Stored Procedure Activity",
"description":"Description",
"type": "SqlServerStoredProcedure",
"linkedServiceName": {
"referenceName": "AzureSqlLinkedService",
"type": "LinkedServiceReference"
},
"typeProperties": {
"storedProcedureName": "usp_sample",
"storedProcedureParameters": {
"identifier": { "value": "1", "type": "Int" },
"stringData": { "value": "str1" }
}
}
}
次の表に、JSON のプロパティを示します。
| プロパティ | 内容 | 必須 |
|---|---|---|
| 名前 | アクティビティの名前 | はい |
| 説明 | アクティビティの用途を説明するテキストです。 | いいえ |
| 型 | ストアド プロシージャ アクティビティの場合、アクティビティの種類は SqlServerStoredProcedure です | はい |
| linkedServiceName | Data Factory でリンクされたサービスとして登録されている Azure SQL Database または Azure Synapse Analytics または SQL Server への参照。 このリンクされたサービスの詳細については、計算のリンクされたサービスに関する記事をご覧ください。 | はい |
| ストアドプロシージャ名 | 呼び出すストアド プロシージャの名前を指定します。 | はい |
| ストアドプロシージャパラメータ | ストアド プロシージャのパラメーター値を指定します。 パラメーター値と、データ ソースでサポートされるパラメーター値の型を渡すには、"param1": { "value": "param1Value","type":"param1Type" } を使います。 パラメーターで null を渡す必要がある場合は、"param1": { "value": null } (すべて小文字) を使います。 |
いいえ |
パラメーターのデータ型のマッピング
パラメーターに指定するデータ型は、使用しているデータ ソースのデータ型にマップされる内部サービス型です。 データ ソースのデータ型マッピングは、コネクタのドキュメントで説明されています。 次に例を示します。
関連するコンテンツ
別の手段でデータを変換する方法を説明している次の記事を参照してください。