はじめに
この記事ではCAIプロセスからOSコマンドを実行して、実行結果を取得する手順を確認します。
今回はコマンドcat /proc/meminfo | grep Mem
の実行結果を取得する手順を確認していますが、記載の手順にてJavaやPythonコードなどを実行することもできます。CAIではプログラミング言語としてXQueryを使用できますが、XQueryでは実装が難しい場合もあると思います。そのような場合、今回の紹介するレシピを用いてJavaやPythonコードなどを実行できるので汎用性の高い実装レシピになると思います。
なお、この記事は次の記事の内容を理解していることを前提としています。
OSコマンドの実行許可設定
次の手順でOSコマンドの実行を許可する設定をします。
-
アプリケーション統合コンソールを開いて、サーバーの環境設定 タブを選択します。
OSコマンドを実行するCAIプロセス
CAIプロセスの作成
次の手順では、コマンドcat /proc/meminfo | grep Mem
を実行して、OSのメモリに関する情報を取得した結果をレスポンスとして返すCAIプロセスを作成しています。
-
CAIプロセスを次の設定で作成します。
- 名称を recipe-psa-stepOScmd とする
- 匿名アクセス を許可する
- Secure Agentサーバー にデプロイする
-
サービスステップを選択、サービスタブを選択して サービスタイプ=システムサービス,アクション=シェルコマンドの実行 を選択します。
-
入力フィールドタブを選択して、フィールドの追加ボタンをクリックして、次のフィールドを設定します。
● Command =cat meminfo | grep Mem
● Working Directory =/proc
-
割り当てステップを選択して出力フィールド output に コンテンツ として Output String を指定します。
CAIプロセスの実行
curlコマンドを例とした動作確認結果です。コマンドcat /proc/meminfo | grep Mem
の実行結果が得られる動作を確認できます。
// curl コマンド
curl -k https://localhost:7443/process-engine/public/rt/recipe-psa-stepOScmd
// 実行結果
MemTotal: 32652892 kB
MemFree: 855540 kB
MemAvailable: 18313232 kB