コンテキスト変数の使用

コンテキスト変数を使用することで、同一のTalendジョブを複数の異なる環境で実行できます。このチュートリアルでは、コンテキスト変数の使用方法について説明します。

このチュートリアルでは、Talend Open Studio Data Integrationバージョン6を使用します。

1. リポジトリコンテキストグループを作成する

  1. プロジェクトリポジトリで、右クリックメニューから[Contexts] > [Create context group]を選択します。[Create/Edit a context group]ウィザードの[Name]フィールドで、databasePropertyTypeと入力し、[Next]をクリックします。
  2. コンテキストグループに変数を追加するには、[+]ボタンを5回クリックし、フィールド名にhost、port、database、username、passwordを入力します。
  3. [password]フィールドのタイプを変更するには、[Type]フィールドをクリックして[Password]をクリックします。
  4. [Default Values]列で、サーバーに基づいて各変数の値を指定し、[Finish]をクリックします。

新しいコンテキストグループ、databasePropertyType 0.1がプロジェクトリポジトリの[Contexts]の下に表示されます。このコンテキストグループを使用するには、ジョブにインポートする必要があります。

2. コンテキスト変数をジョブで使用するためにグループをインポートする

  1. プロジェクトリポジトリですべてのコンテキストグループを表示するには、[Contexts]ビューで[↓]ボタンの横のコンテキストのインポートボタンをクリックします。
  2. すべての変数を選択するには、表示される[Select Context Variables]ウィンドウで[Context: databasePropertyType]のチェックをオンにします。

    代替の方法:コンテキストグループを展開して、一部の変数のみを選択できます。

    変数が値と共にジョブにインポートされます。値は、リポジトリのコンテキストグループに属するため、変更できません。
    .
  3. ジョブにインポートされた変数にアクセスするには、プレフィックス「context.」と変数名を使用します。MySqlコンポーネントの[Component]ビューで、構成の固定値の代わりに、コンテキストグループの対応する変数を指定します。

    :これらのフィールドを変更する際には、オートコンプリートウィンドウを呼び出すことができます。その場合は、単語の最初の文字を入力してから、Ctrl+スペースキーを押します。
    .
  4. ジョブを実行するには、[Run]ビューで[Run]をクリックします。コンテキストグループに定義した変数とデフォルト値を使用して、ジョブが実行されます。

3. コンテキストをさらにジョブに追加する

  1. プロジェクトリポジトリで、右クリックメニューから[databasePropertyType 0.1] > [Edit context group]を選択します。
  2. [Create/Edit a context group]ウィザードで[Next]をクリックします。
  3. 新しいコンテキストを作成・構成するには、[Default]列の横の[+]ボタンをクリックします。表示される[Configure Contexts]ウィンドウで[New]をクリックし、名前をproductionと入力します。
  4. 同様に、testという名前の別のコンテキストを追加します。
    コンテキストのデフォルト値を使用して2つの新しいコンテキストが作成されました。
  5. productionとtestのコンテキストで値を変更するには、各フィールドをクリックして新しい値を入力します。[Finish]をクリックします。
  6. ジョブの変更を伝播するには、表示される[Modification]ダイアロブボックスで[Yes]をクリックします。
  7. [Update Detection]ウィンドウで、新しいコンテキストが選択されていることを確認し、[OK]をクリックします。
  8. グループに追加された2つの新しいコンテキストを表示するには、ジョブの[Contexts]ビューで右にスクロールします。
  9. ジョブを実行するには、[Run]ビューでコンテキストをクリックして[Run]をクリックします。

4. メタデータ定義でコンテキスト変数を使用する

  1. メタデータのプロパティの固定値をコンテキスト変数に置き換えるには、プロジェクトリポジトリでメタデータmovies 0.1を右クリックし、[Edit file delimited]をクリックします。
  2. デフォルト値をコンテキストとしてエクスポートするには、[Edit an existing Delimited File]ウィザードで手順3に移動し、[Export as context]をクリックします。
  3. [Create/Reuse a context group]ウィンドウで、[Create a new repository context]のチェックがオンになっていることを確認し、[Next]をクリックします。
  4. [Name]フィールドで、moviesContextGroupと入力して[Next]をクリックします。
    すべてのパラメーターがデフォルト値を持つ変数に変更されました。
  5. [Create/Reuse a context group]ウィンドウと[Edit an existing Delimited File]ウィザードを閉じます。
  6. ジョブの変更を伝播するには、表示される[Modification]ダイアロブボックスで[Yes]をクリックします。
  7. [Update Detection]ウィンドウで、新しいコンテキストが選択されていることを確認し、[OK]をクリックします。

moviesコンポーネントの[Component]ビューで、プロパティのすべてのデフォルト値がコンテキスト変数に置き換わりました。さらに、プロジェクトリポジトリの[Contexts]の下に、新しいコンテキストグループ、moviesContextGroup 0.1が表示されました。