MetaServletパラメーターをREST APIに送信できるようにbase64にエンコードするユーザールーチンを定義する必要があります。このルーチンをジョブで呼び出します。
手順
- [Repository] (リポジトリー)ツリービューで、[Code] (コード)を展開し、[Routines] (ルーチン)を表示します。
- [Routines] (ルーチン)を右クリックし、[Create routine] (ルーチンの作成)を選択します。
-
[New routine] (新規ルーチン)ダイアログボックスが開きます。ルーチンを作成するために必要な情報を入力し、[Finish] (終了)をクリックして次のステップに進みます。
作成したばかりのルーチンが、[Repository] (リポジトリー)ツリービューの[Routines] (ルーチン)ノードのすぐ下に表示されます。ルーチンエディターが開き、デフォルトでモデルルーチンが示されます。これには、青色の説明文と対応するコードで構成される単純な例が含まれます。
-
最初の
パッケージルーチン
コード行のすぐ後に次のコードを入力します:import com.sun.org.apache.xml.internal.security.utils.Base64;
そのためには、最初の数文字を入力し、[Ctrl] + [Space]を押してテンプレートリストを開きます。次に、
com.sun.org.apache.xml.internal.security.utils.*;
を選択して、*
記号をBase64
に置き換えます。 -
自分のコードを使って、モデルの最後の部分を変更します。
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ユーザーガイドをご覧ください。