本記事について
Azure Node SDKを使ってAzure Data Factoryのパイプラインを実行する際に、実行パラメータを渡す方法について記載しました。
はじめに
Data Factoryのパイプライン実行は、「DataFactoryManagemantClinet」オブジェクトの「pipelines」メンバーの「createRun」メソッドで行います。
しかし、リファレンスを見ても、「createRun」のパラメータは「options?: Object」としか書かれておらず、具体的な渡し方に関する記載がありません。
function createRun(resourceGroupName: string, factoryName: string, pipelineName: string, options?: Object)
実際は、パラメータをJSONでoptionsに入れるだけではダメで、下記の手順が必要になります。
手順
-
createRun()
の4番目の引数「options」の「parameters」要素にパラメータをJSONで渡す - 「parameters」の各パラメータ値はJavaScriptのオブジェクトで渡す
具体的なパラメータの渡し方は下記のような感じになります。
// パイプラインパラメータ
const params = {
val_str: new String('パラメータ値'), // 'パラメータ値' だけだとダメ
val_number: new Number(123) // 123 だけだとダメ
};
const result = await client.pipelines.createRun(
RESOURCE_GROUP_NAME,
DATA_FACTORY_NAME,
PIPELINE_NAME,
{
parameters: params
}
);
「parameters」の各パラメータ値はJavaScriptのオブジェクトで渡すとは?
パラメータの値は文字列なら「パラメータ値」、数値なら「123」といった直値ではダメで、文字列ならStringオブジェクト、数値ならNumberオブジェクトとしてセットする必要があります。