3

現在、コマンドラインからTalendジョブを実行しようとしています。本番環境のパラメーターはローカル ワークステーションのパラメーターとは異なるため、ターゲット サーバーでジョブを起動するときにコンテキスト パラメーターを指定する必要があります。

kaffein@coffeeshop:~$ ./job_run.sh --context_param port=1234 --context_param server=myserver

ただし、ジョブをエクスポートすると、Talend Open Studio (データ統合用) によってすべてのサブジョブ フォルダーのDefault.propertiesファイルが生成されました。これらのファイルには、ローカルのデフォルト コンテキスト パラメータが含まれています。

「ローカル」パラメーターは、提供されたコマンドラインパラメーター (--context_param 引数) によってオーバーライドできないように見えるため、本番パラメーター (上記のようなもの) を使用してジョブを起動すると失敗します。

誰かがこの問題について私を助けてくれますか?

4

3 に答える 3

2

Implicit context loadでは下Job Settingsの方が使いやすいかもしれませんProject Settings

ここでは、接続設定などの環境パラメーターのファイル (CSV など) を定義できます。それらが同じファイル パスを共有している限り、異なる環境のファイルに異なるコンテキスト変数を入れて、Talend にそれらをロードさせることができます。仕事の一環として。

ジョブを実行すると、環境固有のコンテキスト変数がファイルから読み込まれるので、それを使用する必要があります。

于 2014-01-07T17:20:35.003 に答える
1

DEV、UAT、PROD などのコンテキストのグループがある場合は、シェル スクリプト内でこのパラメーターを設定できます。したがって、PROD が必要な場合は、このパラメーターをシェルに追加します。

--context=PROD

これにより、PROD コンテキスト プロパティ ファイルから PROD パラメーターが読み込まれます。ビルドごとに、すべてのシェル スクリプトを変更して、それがどの環境にあるかを判断するチェックを追加し、正しいコンテキストに渡します。

于 2014-02-05T12:16:22.817 に答える