0
データフロージョブを使用してバケットに配置されたシェルスクリプトを実行しようとしています。google cloud dataflowジョブを使用してシェルスクリプトを実行
String[] cmdline = { "cmd.exe", "/c", "gsutil ls gs://Bucketname" };
Process p = Runtime.getRuntime().exec(cmdline);
BufferedReader reader = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
注:私はWindowsマシンを使用していますので、私は、スクリプトを実行するためにデータフローランナーを使用します。私は直接ランナーを使用して、このジョブを使用してgsutilのコマンドを実行することができます。
これをParDo内から実行しようとしていますか?これは失敗ですか?もしそうなら、あなたはどんなエラーを見ていますか?あなたのパイプラインはどのように見えますか? – Pablo
もし私が文字列を書くコマンド= "bash shellDataflow.sh";プロセスp = Runtime.getRuntime()。exec(コマンド); "execption occured"というエラーメッセージが表示されるプログラム "bash"を実行できません:CreateProcess error = 2、システムは指定されたファイルを見つけることができません "。上記のプログラムは私のWindowsシステムのコマンドラインインスタンスを呼び出すので、エラーはこのようなものです。私のデータフロージョブを使用してその環境で自分のシェルを実行できるように、クラウドコンソール環境にJavaコードを介して接続する方法はありますか? – Aditi