はじめに
この記事では、Secure Agent実行環境に保存されているファイルをダウンロードする実装を確認します。
なお、この記事は次の記事の内容を理解していることを前提としています。
バイナリファイル読み込みとダウンロード
CAIプロセスの作成
次の手順では、OSコマンドを実行してファイルのBase64エンコード値を取得、Base64エンコード値から添付(ファイル)型に変換して、API実行元に添付(ファイル)を返すCAIプロセスを作成しています。
-
CAIプロセスを次の設定で作成します。
- 名前を recipe-psa-fileDownload とする
- 匿名アクセス を許可する
- Secure Agent にデプロイする
-
出力フィールド outputAttach を タイプ=添付(Attachment) として定義します。
-
一時フィールド tmpOutput を タイプ=テキスト として定義します。
-
サービスステップを選択して、OSコマンド
base64 recipe-psa-fileDownload.zip
を実行するように Command、Working Directory フィールドを設定します(recipe-psa-fileDownload.zipは今回ダウンロードするファイルです、ファイルの作成方法については後述します)。 -
割り当てステップを選択して、次の様にしています。
出力フィールド outputAttach には計算式sff:createAttachmentFromBase64('recipe-psa-fileDownload.zip', $temp.tmpOutput ,'application/zip')
を指定しています。ファイル名とMIME(application/zip)については、ダウンロード対象ファイルに合わせて指定します。
CAIプロセスの実行
curlコマンドを例とした動作確認結果です。md5sumコマンドを使って、zipファイルが破損なくダウンロードできていることを確認しています(実行時にはファイルパスを実行環境に合わせて変更します
)。
//ダウンロード用のzip作成
$ echo "helloWorld" > recipe-pca-fileDownload.txt
$ zip recipe-psa-fileDownload.zip recipe-psa-fileDownload.txt
$ md5sum recipe-psa-fileDownload.zip
d39f31bdb488c9b3aab9f6e479531a79 recipe-psa-fileDownload.zip <---ダウンロード元ファイルのmd5sum値
//curlによるCAIプロセスの実行
$ curl -k https://localhost:7443/process-engine/public/rt/recipe-psa-fileDownload \
-o /opt/infaUSW5/ff/tgt/recipe-psa-fileDownload.zip
//実行結果の確認
$ md5sum /opt/infaUSW5/ff/tgt/recipe-psa-fileDownload.zip
d39f31bdb488c9b3aab9f6e479531a79 recipe-psa-fileDownload.zip <---ダウンロード後ファイルのmd5sum値