Skip to main content
Announcements
Qlik Connect 2025! Join us in Orlando join us for 3 days of immersive learning: REGISTER TODAY

MetaServletによるTAC操作概要

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
TalendSolutionExpert
Contributor II

MetaServletによるTAC操作概要

Last Update:

Feb 15, 2024 10:36:33 AM

Updated By:

Sonja_Bauernfeind

Created date:

Oct 20, 2022 3:03:24 AM

概要
Talend MetaServlet は、Talend Administration Center をプログラマブルに操作するための REST Web サービスです。
コマンドライン、スクリプトや REST API を使用して、Talend Administration Center のあらゆる機能を実行することができます。

例)

  • ジョブを生成、ビルド、エクスポートする
  • タスクを実行する
  • 設定済みのプロジェクトをリストする

Talend MetaServlet は、数多くのサブコマンドが用意されています。詳しくは、以下のコマンドを実行し、ヘルプを参照してください。

$ cd /opt/Talend-7.3.1/tac/apache-tomcat/webapps/org.talend.administrator/WEB-INF/classes
$ ./MetaServletCaller.sh --tac-url http://localhost:8080/org.talend.administrator/ --help all
 

方法
Metaservlet を使うには2つの方法があります。

1. コンソールを使用する:<TACインストールディレクトリ>/org.talend.administrator/WEB-INF/classes/MetaServletCaller.sh
TAC に同梱されているスクリプトを実行します。リクエストする内容は JSON 形式のパラメータとして付与します。
以下、コマンド実行例となります。青文字は戻り値です。(実行環境にあわせて、空白文字や改行文字をご調整ください)
 
$ cd /opt/Talend-7.3.1/tac/apache-tomcat/webapps/org.talend.administrator/WEB-INF/classes
$ ./MetaServletCaller.sh --tac-url http://localhost:8080/org.talend.administrator/ --json-params '{
    "actionName": "runTask",
    "taskId": 3,
    "mode": "asynchronous",
    "authUser": "admin@company.com",
    "authPass": "admin"
}'
{"execRequestId":"1624846278082_gPUg8","executionTime":{"millis":16291,"seconds":16},"returnCode":0}

 
2. REST API の使用する:http://TAC_URL:8080/org.talend.administrator/metaServlet?Base64でエンコードされたUserRequest
HTTP クライアントから上記URLに対しリクエストを送信します。リクエストする内容は Base64 エンコードし、パラメータとして付与します。
以下、コマンド実行例となります。青文字は戻り値です。(実行環境にあわせて、空白文字や改行文字をご調整ください)
$ curl -s http://TAC_URL:8080/org.talend.administrator//metaServlet?ewogICAgImFjdGlvbk5hbWUiOiAicnVuVGFzayIsCiAgICAidGFza0lkIjogMywKICAgICJtb2RlIjogImFzeW5jaHJvbm91cyIsCiAgICAiYXV0aFVzZXIiOiAiYWRtaW5AY29tcGFueS5jb20iLAogICAgImF1dGhQYXNzIjogImFkbWluIgp9
{"execRequestId":"1624846486878_tE3yE","executionTime":{"millis":16178,"seconds":16},"returnCode":0}
 

Tips:
MetaServletCaller.shを --verbose (-v) オプション付きで実行すると、Base64 エンコードされたRequest body を表示、確認することができます。

$ cd /opt/Talend-7.3.1/tac/apache-tomcat/webapps/org.talend.administrator/WEB-INF/classes
$ ./MetaServletCaller.sh --verbose --tac-url http://localhost:8080/org.talend.administrator/ --json-params '{"actionName": "listTasks", "authUser": "admin@company.com", "authPass": "admin"}'
-> URL: http://localhost:8080/org.talend.administrator/
-> Json parameters:
{
    "actionName": "listTasks",
    "authPass": "admin",
    "authUser": "admin@company.com"
}                                                                                                                                          
 -> Complete request: http://localhost:8080/org.talend.administrator//metaServlet
 -> Request body: eyJhY3Rpb25OYW1lIjogImxpc3RUYXNrcyIsICJhdXRoVXNlciI6ICJhZG1pbkBjb21wYW55LmNvbSIsICJhdXRoUGFzcyI6ICJhZG1pbiJ9
(以下省略)


もしくは、base64 コマンドを使用して Json-params の入力をエンコードすることもできます。
echo -n '{"actionName": "listTasks", "authUser": "admin@company.com", "authPass": "admin"}' | base64

参照(英語版)
MetaServlet
Labels (1)
Version history
Last update:
‎2024-02-15 10:36 AM
Updated by: