node.js関数の作成と管理

node.js関数の作成と管理

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

関数とは、アプリケーション内で特定の処理を実行したり、コード内のロジックに基づいて所望の結果を得るために呼び出される一連のステートメントです。Node.js は、クロスプラットフォームのオープンソース JavaScript 実行環境です。Node.js を導入すると、アプリはリクエストごとに新しいスレッドを作成することなく、単一プロセス内で実行できるようになります。
Node.js を使用して新しい関数を作成する

新しい Node.js 関数を作成するには:

  1. ワークフロー をクリックして、ワークフロー ダッシュボードに移動します。

  2. Functions タブをクリックします。

  3. New Function ボタンをクリックします。

  4. 作成ページが表示されます。

  5. Function Name を入力します。これは関数を呼び出す際に使用される識別子として機能します。関数には、スペースを含まない意味のある名前を指定してください。

  6. 関数のスクリプト言語として Node.js を選択します。

  7. Arguments を指定します。
  8. Create Function ボタンをクリックします。ビルダーが表示されます。
  9. 必要な Node.js コードを関数に追加します。

  10. 作成した関数は、ワークフロー ダッシュボードの Functions の下に一覧表示されます。

 

メモ:

  • Namespace: Node.js 関数の Namespace は Default Namespace になります。
  • Return Type: Node.js 関数の戻り値は、Collection データ型 のみです。
  • Argument: Node.js 関数が受け取れるのは string 値のみです。
  • Node.js 関数は作成後に名前を変更することはできません。
Node.js 関数の引数とパラメーター

Deluge 関数と同様に、Node.js でも関数の実行に基づく引数を指定する必要があります。引数とは、関数を実行する際にメソッドへ渡されるインスタンスです。Node.js 関数を作成する際に、引数を 1 つ指定できます。同じ関数に後から別の引数を追加する必要がある場合は、ビルダー内の FunctionProperties設定 アイコンをクリック)にアクセスして追加できます。

プログラムを実行するには、Node.js 関数内でパラメーターを定義する必要があります。パラメーターとは、引数の値を割り当てるための変数です。Deluge から渡された引数の値は、このパラメーター(コンテナ)に格納され、Node.js 関数内で受け取られます。

サンプル関数

次の関数は、Node.js 関数で平均を計算し、その結果を使用して Deluge でデータを更新するために作成されたものです。


無効 gradeCalculator。avgCalculation()
{
avg = 0。0;
for each i in Student_Details [ ID != 0 ]
{
合計 = i。Grand_Total。toString();
件数 = i。Number_of_Subjects。toString();
avg = thisapp。calculatorFunction(合計,件数).取得する('output').toDecimal();
i。平均 = avg ;
}
 


タブ。exports = async function( context, basicIO )
{
var 合計 = parseInt(basicIO。getParameter('合計'));
var 件数 = parseInt(basicIO。getParameter('件数'));
var nodeFile = require('平均。js');
basicIO。write(nodeFile。calculateAvg(合計, 件数));
}
 

this。calculateAvg = function (合計, 件数)
{
返品する (合計/count);
}
 

メモ:

  • タブ。exports = async function( context, basicIO ) は削除しないでください。削除すると、実行エラーが発生します。
Config.json とライブラリ
  • config.json は構成ファイルです。
  • node_modules は、Node.js ファイルをアップロードできるフォルダーです。フォルダーを右クリックしてファイルをアップロードします。
Node.js 関数を呼び出す

Deluge スクリプト内で Node.js 関数を呼び出すには、以下の画像に示すステートメントを使用します。この例では、「thisapp。calculatorFunction(合計,件数);」が Node.js 関数を指しており、その戻り値はコレクションとして値を保持しています。

値を取得する
入力したパラメーターに変数を割り当てて、出力を取得します。上記の例では、変数は合計(グランド合計)と件数(件名の数)です。これら 2 つのパラメーターは、basicIO.getParameter を使用して取引明細から取得します。node_modules フォルダーは、node.js 関数内で使用できる .js 形式のファイルをアップロードするためのコンテナとして機能します。このフォルダー内でコードを作成して保存し、node.js 関数から参照することもできます。たとえば、合計と件数の変数に対して平均を計算するコードを含む heikin.js ファイルを作成しています。nodeFile = require(heikin.js) は、その .js ファイルにアクセスして計算を実行するための構文です。ただし、平均を求めるために変数を処理するコードは、node.js スクリプト内に直接記述することもできます。node_modules は、複雑な計算や繰り返し使用する計算を作成する場合に有用です。

basicIO.write 明細は、計算後の結果を出力するために使用します。こうして得られた結果は、後続の処理のために Deluge 関数内で使用できます。

注意事項
  • .js ファイルは node_modules にのみアップロードできます。
  • すべてのファイルを合わせたアップロード上限は 10 MB です。
  • リクエストおよびレスポンスのデータサイズは、それぞれ最大 1 MB までです。
  • エディター内のファイルサイズは最大 1 MB までです。
  • node.js 関数には最大 20 個の引数を渡すことができます。
  • 1 つの Deluge スクリプト内で、関数は最大 5 回まで呼び出すことができます。
  • 関数呼び出しの開始から 40 秒以内にレスポンスを受信する必要があります。これを超えると実行は失敗します。
  • サポートされているデフォルトの Node モジュールは次のとおりです:
    • request-promise
    • bluebird
    • crypto
    • axiom
    • その他のデフォルトの Node パッケージ(request、fs、url など)
  • 現在、この機能は DS ファイルではサポートされていません。クラウド関数はインポート/エクスポート/バックアップ/複製処理の際に取得されません。その代わり、エラーを回避するために、同じ名前の空の Deluge 関数に置き換えられます。
  • console.log ステートメントは Creator のクラウド関数では動作しません。

関連トピック