Azure DataFactory V2からAzure SQL DBでストアドプロシージャを実行しようとしています。このプロシージャは、フラット・テーブルからのデータを使用して、異なるテーブルにアップサンプリングします。 MS spcificationsによると、このようなことをするためにテーブル値のパラメータが必要ですが、パイプラインアクティビティをプロシージャとすべてのモデルに結合します。ストアドプロシージャを実行するだけなので、データセットとコピーアクティビティを定義する方法はありますか?以下azure datafactoryからstoredProcedureを実行
jsonsは、アームテンプレートから、次のとおりです。
DataSet:
{"type": "datasets",
"name": "AzureSQLProcedureDS",
"dependsOn": [
"[parameters('dataFactoryName')]",
"[parameters('destinationLinkedServiceName')]"
],
"apiVersion": "[variables('apiVersion')]",
"properties": {
"type": "AzureSqlTable",
"linkedServiceName": {
"referenceName": "[parameters('destinationLinkedServiceName')]",
"type": "LinkedServiceReference"
},
"typeProperties": {
"tableName": "storeProcedureExecutions"
}
}}
Activity:
{"name": "ExecuteHarmonizationProcedure",
"description": "Executes the procedure that Harmonizes the Data",
"type": "Copy",
"inputs": [
{
"referenceName": "[parameters('destinationDataSetName')]",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "AzureSQLProcedureDS",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSink"
},
"sink": {
"type": "SqlSink",
//"SqlWriterTableType": "storeProcedureExecutionsType",
"SqlWriterStoredProcedureName": "@Pipeline().parameters.procedureName",
"storedProcedureParameters": {
"param1": {
"value": "call from adf"
}
}
}
}
}
すべてのヘルプは、MSがこの主題のために多くの助けを提供しないことを考慮いただければ幸いです。
問題が発生した場所と表示されるエラーメッセージは何ですか? –
目的は、ダミーテーブルの作成を必要としないものを見つけることでした。この場合、これはSQLインジェクションをやや受けやすいためです。プロシージャの名前と必要なパラメータのみを指定する方法があれば、それが良いでしょう。 –