
Contributor II
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
MetaServletによるTAC操作概要
Last Update:
Feb 15, 2024 10:36:33 AM
Updated By:
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つの方法があります。
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
319 Views