コンテキストと変数を使用
変数は、プログラムの実行中に変化する値を表します。
グローバル変数はシステム変数で、任意のモジュールまたはファンクションからアクセスでき、使用するファンクションまたはプログラムが実行を完了した後も値を保持しています。
コンテキスト変数とは、特定のコンテキストでユーザーが定義する変数をいいます。ジョブやルートの使用環境に応じて、「コンテキスト」と呼ばれるさまざまな実行タイプ(次の例ではProdとTest)別に異なる管理をしなければならない場合があります。たとえば、ジョブまたはルートの本番稼動の前には、各種テスト段階で実行して検証します。
コンテキスト変数の使用に関する一般的なアドバイス:
- コンテキスト変数内の小さなデータを使用します。
- コンテキスト変数内にコードを入れないようにします。
- デフォルトのString型ではなく、適切な変数型を使用します。たとえば、パスワードにはセキュリティを高めるためにPassword型、ファイルパスまたはディレクトリーには、不要なエスケープを避けるためにFile型またはDirectory型です。
- 文字列値全般を二重引用符で囲むことは避けてください。ただし、以下の場合は二重引用符の使用が必須となります。
- 文字列にエスケープ文字が含まれており、エスケープの解除が発生するように設定する場合。
- 文字列の先頭または末尾に、変数値の一部である二重引用符がある場合。
コンテキストにはパラメーターに特徴があります。パラメーターはほとんどがコンテキスト依存変数で、[Component] (コンポーネント)ビューでCtrl + スペースを押すと、コンポーネント固有プロパティで再利用するため変数リストに追加されます。
Talend Studioでは複数のコンテキストデータセットを作成できます。さらに、ジョブやルートのコンテキストタブから1回限りのコンテキストデータセットを作成したり、[Repository] (リポジトリー)ツリービューの[Contexts] (コンテキスト)ノードにコンテキストデータセットを一元化してさまざまなジョブやルートで再利用したりすることもできます。
ジョブの場合、コンテキスト変数の値は、作成中に定義する方法と、ジョブの実行中にtContextLoadコンポーネントを使用して明示的に、または暗黙的なコンテキストロード機能を使用して暗黙的に、コンテキストパラメーターを動的にロードする方法とがあります。
このセクションでは、コンテキストと変数を作成し、コンテキストパラメーターの値を定義する方法について説明します。
tContextLoadコンポーネントを使ってコンテキストパラメーターを動的にロードする例は、コンテキストをご覧ください。
暗黙的コンテキスト読み込み機能を使用してコンテキストパラメーターを動的に読み込む例については、をご覧ください。