ルーチンを設定する - 6.5

MetaServlet REST Webサービスを呼び出してタスクを実行

EnrichVersion
6.5
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
task
ジョブデザインと開発 > ジョブデザイン
EnrichPlatform
Talend Administration Center
Talend Studio

MetaServletパラメーターをREST APIに送信できるようにbase64にエンコードするユーザールーチンを定義する必要があります。このルーチンをジョブで呼び出します。

手順

  1. [Repository] (リポジトリ)ツリービューで、[Code] (コード)を展開し、[Routines] (ルーチン)フォルダーを表示します。
  2. [Routines] (ルーチン)を右クリックし、[Create routine] (ルーチンの作成)を選択します。
  3. [New routine] (新規ルーチン)ダイアログボックスが開きます。ルーチンを作成するために必要な情報を入力し、[Finish] (終了)をクリックして次の手順に進みます。

    作成したばかりのルーチンが、[Repository] (リポジトリ)ツリービューの[Routines] (ルーチン)ノードのすぐ下に表示されます。ルーチンエディターが開き、デフォルトでモデルルーチンが示されます。これには、青色の説明文と対応するコードで構成される単純な例が含まれます。

  4. 最初のpackage routinesコード行のすぐ後に次のコードを入力します。

    import com.sun.org.apache.xml.internal.security.utils.Base64;

    そのためには、最初の数文字を入力し、Ctrl+Spaceを押してテンプレートリストを開きます。次に、com.sun.org.apache.xml.internal.security.utils.*;を選択して、*記号をBase64に置き換えます。

  5. 自分のコードを使って、モデルの最後の部分を変更します。
    public static String base64Encode(String message) {
    
        	return message==null ? null : "" + Base64.encode(message.getBytes()).replace("\n", "");
        }
    public static void main(String[] args) {
        	String tmp = "{\"actionName\":\"runTask\",\"taskId\":\"1\",\"mode\":\"synchronous\",
    \"authPass\":\"talend\",\"authUser\":\"talend@talend.com\"}";
    
        	System.out.println("Base 64: " + base64Encode(tmp));
        }
    }

    これにより、MetaServletアクションのrunTaskをbase64でエンコードできます。

    MetaServletで利用可能なパラメーターとアクションの詳細は、Talend Administration Centerユーザーガイドを参照して下さい。