• V
 

環境変数を利用する

ノードのプロパティとして設定する

${ENV_VAR}という形式の文字列を値として設定することで、ノードのプロパティに環境変数を設定することができます。 ランタイムがフローを読み込んだとき、 ノードに文字列が渡される前に環境変数の値が代わりに使われます。

これはプロパティがまるごと置換できる場合のみ動作します - 値の一部だけに代入することはできません。 例えば、CLIENT-${HOST}を使うことはできません

ノードはそれぞれの編集ダイアログを提供しているため、 全てのプロパティが環境変数の文字列を入力できるようなテキスト入力欄を提供しているわけではありません。 この場合、プロパティを設定するためにフローファイルを直に編集することを考えることができるかもしれません。

TypedInputウィジェットとして利用する

TypedInput Environment Variable

TypedInput環境変数型

エディタ内で、TypedInputウィジェットは型として「環境変数」を提供することができます。 この型が選択されたとき、この値は以下のように評価されます。

  • ${}が存在しない場合、値全体を環境変数名として利用します。 例えば、 "FOO"process.env.FOOの値に置換されます。

  • ${}が存在する場合、評価結果には対応する環境変数が代用されます: 例えば、 "Hello ${FOO}"という値で環境変数FOOWorldが設定されている場合、 この結果は"Hello World"という値になります。

JSONata式

ChangeノードのようなノードからJSONana式の中で$env関数を利用することによって、 環境変数にアクセスすることができます。

$env('ENV_VAR')

Functionノード

Functionノード内で、 環境変数はenv.get関数を利用することによってアクセスすることができます:

let foo = env.get("FOO");

サブフローインスタンスプロパティ

0.20版以降、サブフローはインスタンスプロパティを設定できます。 これらは環境変数としてサブフロー内に表示され、 サブフローの個々のインスタンスにあわせてカスタマイズすることができます。

例えば、異なる種類のレコードへのアクセスを提供するREST APIがあり、 環境変数を利用してアクセスする必要があるレコードの種類を識別し、 サブフローはそのAPIにアクセスしてレスポンスを処理するように作成することができます。 そして、サブフローの個々のインスタンスをそれらの特定の種類にあわせてカスタマイズすることができます。