新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

Azure Data Factory のパイプラインにAzure Node SDKからパラメータを渡す方法

Azure Node SDKを使って、Azure Data Factoryのパイプラインにパラメータを指定して実行しようとしてハマことのメモ書きです。

Data Factoryのパイプライン実行は、「DataFactoryManagemantClinet」オブジェクトの「pipelines」メンバーの「createRun」メソッドで行います。

ただ、リファレンスを見ても、「createRun」のパラメータは「options?: Object」とし書かれていません。

Azure Data Facotry Node SDK createRun parameter

https://docs.microsoft.com/ja-jp/javascript/api/azure-arm-datafactory/pipelines?view=azure-node-latest#createrun-string--string--string--object-

「options」にパラメータをJSONでそのまま渡せばいいのかなと思ってやってみたけどエラー。横着してそのまま粘ってみたけど、それ以上情報が無いのでソースを見るはめに。

結果、解決方法は全然違って下記でした。

解決方法

  • 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オブジェクトとしてセットする必要があります。

教訓

マニュアルの整備が追いついてないんですかね。

Azureの更新も頻繁なので、今後もマニュアルが整備されることはなさそうな気もします。

SDKと言っても、やっていることはAPIのラッパーでそれほど複雑な事はしていないので、リファレンスでハマったら、さっさとソースを参照するようにしようと思いました。

関連カテゴリー記事

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com

www.kwbtblog.com