適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Microsoft 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
ストアドプロシージャのアクティビティは出力パラメータをサポートしていません。 出力パラメータや結果を返すストアドプロシージャを実行する場合は、代わりにLookupやScriptアクティビティを使います。
出力パラメータを持つストアドプロシージャをストアドプロシージャのアクティビティで呼び出すと、以下のエラーが発生します。
Execution fail against sql server. Please contact SQL Server team if you need further support. Sql error number: 201. Error Message: Procedure or function 'sp_name' expects parameter '@output_param_name', which was not supplied.
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 } (すべて小文字) を使います。 |
いいえ |
パラメーターのデータ型のマッピング
パラメーターに指定するデータ型は、使用しているデータ ソースのデータ型にマップされる内部サービス型です。 データ ソースのデータ型マッピングは、コネクタのドキュメントで説明されています。 次に例を示します。
関連するコンテンツ
別の手段でデータを変換する方法を説明している次の記事を参照してください。